1、YII中对RBAC 的支持是比较好的,当然,这个支持指的是后台上的支持,前台界面是需要自己去写的
之后yii的的扩展自然是有人提供了RBAC的UI,主流的有两个,一个是srbac,一个是rights,sr哦ac功能比较弱,似乎不能做到那种task继承task,rule继承rule的那种,顺便说他那个UI也算是丑到我无法无法接受了,故放弃
于是选择了rights 这个扩展的不归路,配置好了的rights的界面还算不错,可以看下
当然想达到这个效果,需要艰辛的路程,下面开始说其艰辛的路程
首先,下载rights放在modules 目录,配置config 什么的官方里面有就不多说了,下面是关键问题
1、你首先得有张用户表,且用户表要与rights自身的配置文件内容相同
在RightsModule这个对象里 你需要配置$userClass $userIdColumn $userNameColumn 还有个特别重要的$superuserName
$userClass 对应用户表的Model类,$userIdColumn 对应主键,$userNameColumn 对应账户名,$superuserName 对应用户表里的一条数据的账户名
2、修改你自己的userIdentity,其中最重要的一条就是要加一个id 的访问,要设置到Yii->app()->user->id 返回的是数字,而不是username
3、最开始访问的时候,不要手贱自己执行yii里auth的sql,这个right是自带了的,不用我们自己执行
4、最开始访问的时候用/your/path/rights 提示安装完毕了之后,你以后就不能再安装了,如果需要具体配置,可以使用/your/path/rights/authItem/访问,切记不要重复安装。
就这么多了,欢迎交流