1.  下载srbac

下载地址:http://www.yiiframework.com/extension/srbac/

下载完成之后解压,将srbac文件夹放到protected\modules目录中

看文档这步容易忘,直接上去配置main.php会出现《别名 "srbac.SrbacModule" 无效。请确认它指向一个存在的PHP文件》的错误。

2.   修改配置文件main.php

主要有4处: 这里只列出了要配置的项,其他项略过,不要把自己有用的删了!!!!

2.1  配置数据库

如果你这步已经做完,可略过

'components'=>array(

	// uncomment the following to use a MySQL database
	'db'=>array(
		'connectionString' => 'mysql:host=localhost;dbname=mydb',
		'emulatePrepare' => true,
		'username' => 'root',
		'password' => 'admin',
		'charset' => 'utf8',
	),

),

如果是其他数据库,看文档进行配置。

2. 2  配置components

'components'=>array(
	'authManager'=>array(
		'class'=>'CDbAuthManager',// Manager 的类型 
		'connectionID'=>'db',//使用的数据库组件
			'itemTable'=>'items',// 授权项目表 (默认:authitem) 
			'assignmentTable'=>'assignments',// 授权分配表 (默认:authassignment) 
			'itemChildTable'=>'itemchildren',// 授权子项目表 (默认:authitemchild) 
	),
),

其中后面三项必须填,不要看有默认值,不填可以安装成功rbac,但是进入之后会报错

2.3 配置modules

'modules'=>array(
	'srbac' => array(
		'userclass'=>'User', //default: User	这里对应你的用户表,如果你的表名不是User,要修改
		'userid'=>'user_ID', //default: userid	这里对应你的用户表中的用户id,如果不对应,要修改
		'username'=>'username', //default:username	这里对应你的用户表中的用户名,如果不对应要修改
		'delimeter'=>'@', //default:-
		'debug'=>true, //default :false
		'pageSize'=>10, // default : 15
		'superUser' =>'Authority', //default: Authorizer
		'css'=>'srbac.css', //default: srbac.css
		'layout'=>'application.views.layouts.main', //default: application.views.layouts.main,
													//must be an existing alias
		'notAuthorizedView'=> 'srbac.views.authitem.unauthorized', // default:
				//srbac.views.authitem.unauthorized, must be an existing alias
		'alwaysAllowed'=>array( //default: array()
			'SiteLogin',
			'SiteLogout',
			'SiteIndex',
			'SiteAdmin',
			'SiteError', 
			'SiteContact'
		),
		'userActions'=>array('Show','View','List'), //default: array()
		'listBoxNumberOfLines' => 15, //default : 10 
		'imagesPath' => 'srbac.images', // default: srbac.images 
		'imagesPack'=>'noia', //default: noia 
		'iconText'=>true, // default : false 
		'header'=>'srbac.views.authitem.header', //default : srbac.views.authitem.header,
												//must be an existing alias 
		'footer'=>'srbac.views.authitem.footer', //default: srbac.views.authitem.footer,
												//must be an existing alias 
		'showHeader'=>true, // default: false 
		'showFooter'=>true, // default: false
		'alwaysAllowedPath'=>'srbac.components', // default: srbac.components
												// must be an existing alias
	),
),

2.4  配置import

'import'=>array(
	'application.modules.srbac.controllers.SBaseController',
),

3.  安装

path/to/application/index.php?r=srbac

安装成功之后如何使用,请看Yii-srbac使用指南(成功安装之后)