制作一个独立的可以用Srbac管理的后台用户系统。

花了1-2天思考并写代码,大概的实现了这点。

具体来说,就是把CWebuser/CAuthmanager/srbac都作为admin模块的子元素,并把相应设置储存在admin模块的变量中。

写一个切换app验证环境(利用Yii:app()::setComponents和Yii::app()->setModules来重设CWebuser/CAuthmanager的函数)

然后写一个用来继承的controller,重载run函数,调用切换函数。

这样所有继承该controller的控制器,都会使用特定的CWebuser/CAuthmanager来进行登录/退出/rbac验证。

对于很多业务逻辑而言,访客和管理员是完全不同的群体(比如电商,至少magento就是如此),应该有一定的适用性。

就是不知道这个做法算不算脏,有没有隐患?

代码详见

jarln.net/u/add_separate_user_auth_to_yii_app