YII框架使用SRBAC实现RBAC权限访问控制
2014-08-21 14:25
871 查看
YII框架使用SRBAC实现RBAC权限访问控制
1. 下载
可访问以下网址下载: http://www.yiiframework.com/extension/srbac/
或使用附件中的压缩包
2. 安装
首先安装YII. (具体步骤略)
在protected文件夹下创建文件夹modules
解压#1下载的压缩包, 并将srbac拷贝至modules文件夹下
配置main.php如下(红色部分):
修改protected/components/Controller.php, 使其继承SBaseController. 如果不继承此类, 所有的controller将无法使用RBAC进行访问控制
class Controller extends SBaseController
访问http://127.0.0.1/index.php?r=srbac, 界面提示安装
点击安装后确定.
相关文档
Srbac 1.1.0.2 使用手册什么是srbac?
Srbac 是一个为 Yii 框架设计的模块。
它设计用来简化 Yii authManager 组件的使用,authManager 组件实现基于角色的访问控制(R.B.A.C)。
srbac 支持的 authManager 是 CdbAuthManger , CdbAuthManger 使用一个数据库来存储认证信息。 Srbac 为大多数 RBAC 动作(创建/编辑/删除 认证项目,为用户分配认证项目等)提供了一个图形界面。
Srbac 1.1.x 需要 Yii 版本 1.1.0 或更新的版本。
下载 srbac
Srbac 可以在如下地址下载:
Yii 扩展页面: http://www.yiiframework.com/extension/srbac/
Google 项目页面: http://code.google.com/p/srbac/downloads/list
也可以使用如下命令签出最新的开发代码:
svn checkout http://srbac.googlecode.com/svn/trunk/ srbac-read-only
安装 srbac
要安装 srbac 模块,首先解压压缩文件到Yii应用的模块目录,然后编辑配置文件如下:
配置数据库组件:
配置authManager组件:
查看srbac属性列表可以得到每个属性的详细信息。
导入 SbaseController(for using the auto checking access feature):
现在访问 /path/to/application/index.php?r=srbac 你将转向到安装页面。
一个检查被执行,若一切OK,你可以开始安装(也可以选择创建一些演示用的授权项目)。
若 srbac 已经被安装,将提示你覆盖之前的安装(这将丢弃所有的表并删除你当前的授权数据)。
一个 'Authorizer' 角色将被创建。(你可以在 srbac 配置中修改它的名字)。这是唯一可以管理 srbac 的用户(创建,编辑,删除角色,人物,操作以及为用户分配权限)。
注意,除非你设置 srbac debug 属性为 false ,否则任何人均可以管理 srbac, 同时,除非你分配 Authorizer 角色到至少一个用户,否则任何人均可以管理srbac。
在分配 Authorizer 角色到一个用户后,设置 srbac debug 属性为false 是明智的。同时你也可以删除或重命名 srbac/views/authitem/install 目录。
srbac 主要的管理页面是:path/to/application/index.php?r=srbac/authitem/frontpage。
自动创建和访问检查(Autocreation and access checking)
自版本 1.02 开始,你可以为你的控制器自动创建 操作/任务。 操作的命名格式是:[ModuleId_][Subdirectory.][ContollerId][Action]。例如:
你也可以创建 2 个任务,格式是 [ControllerId]Viewing, [ControllerId]Administrating (例如PostViewing, PostAdministrating).
所有操作被分配到 administrating 任务,通过在 srbac 配置中编辑 userActions 属性,你可以选择哪些操作被分配到viewing 任务。
若你也想要 srbac 在控制器中自动检查访问权限,你的控制器应当扩展 srbac 模块中的 SBaseController 类或其子类。
SbaseController 重写 beforeAction($action) 方法并检查当前用户是否有权限访问当前的 controller/action。
要决定一个用户没有权限访问页面后的要做的事情,你可以重写 SBaseController 中的 onUnauthorizedAccess 方法。 这样你可以显示一个未授权信息页面,转向到登录页面等。
国际化
若你想要翻译 srbac 文本,你应当在 Yii 配置文件中设置目标语言:'language'=>'fr',
然后创建如下包含翻译信息的文件:
srbac/messages/fr/srbac.php (你可以复制 el_gr/srbac.php 并翻译其中的信息)。
srbac/views/install/fr/installText.php (你应当翻译 srbac/views/install/installText.php)
转载:http://hi.baidu.com/begin/item/bdeda03e777316ee1b96968f
1. 下载
可访问以下网址下载: http://www.yiiframework.com/extension/srbac/
或使用附件中的压缩包
2. 安装
首先安装YII. (具体步骤略)
在protected文件夹下创建文件夹modules
解压#1下载的压缩包, 并将srbac拷贝至modules文件夹下
配置main.php如下(红色部分):
class Controller extends SBaseController
访问http://127.0.0.1/index.php?r=srbac, 界面提示安装
点击安装后确定.
相关文档
Srbac 1.1.0.2 使用手册什么是srbac?
Srbac 是一个为 Yii 框架设计的模块。
它设计用来简化 Yii authManager 组件的使用,authManager 组件实现基于角色的访问控制(R.B.A.C)。
srbac 支持的 authManager 是 CdbAuthManger , CdbAuthManger 使用一个数据库来存储认证信息。 Srbac 为大多数 RBAC 动作(创建/编辑/删除 认证项目,为用户分配认证项目等)提供了一个图形界面。
Srbac 1.1.x 需要 Yii 版本 1.1.0 或更新的版本。
下载 srbac
Srbac 可以在如下地址下载:
Yii 扩展页面: http://www.yiiframework.com/extension/srbac/
Google 项目页面: http://code.google.com/p/srbac/downloads/list
也可以使用如下命令签出最新的开发代码:
svn checkout http://srbac.googlecode.com/svn/trunk/ srbac-read-only
安装 srbac
要安装 srbac 模块,首先解压压缩文件到Yii应用的模块目录,然后编辑配置文件如下:
配置数据库组件:
配置srbac 模块:
导入 SbaseController(for using the auto checking access feature):
一个检查被执行,若一切OK,你可以开始安装(也可以选择创建一些演示用的授权项目)。
若 srbac 已经被安装,将提示你覆盖之前的安装(这将丢弃所有的表并删除你当前的授权数据)。
一个 'Authorizer' 角色将被创建。(你可以在 srbac 配置中修改它的名字)。这是唯一可以管理 srbac 的用户(创建,编辑,删除角色,人物,操作以及为用户分配权限)。
注意,除非你设置 srbac debug 属性为 false ,否则任何人均可以管理 srbac, 同时,除非你分配 Authorizer 角色到至少一个用户,否则任何人均可以管理srbac。
在分配 Authorizer 角色到一个用户后,设置 srbac debug 属性为false 是明智的。同时你也可以删除或重命名 srbac/views/authitem/install 目录。
srbac 主要的管理页面是:path/to/application/index.php?r=srbac/authitem/frontpage。
自动创建和访问检查(Autocreation and access checking)
自版本 1.02 开始,你可以为你的控制器自动创建 操作/任务。 操作的命名格式是:[ModuleId_][Subdirectory.][ContollerId][Action]。例如:
posts_PostView : 模块 posts , 控制器 Post, 动作 View posts_admin.PostDelete : 模块 posts, 子目录 admin, 控制器 Post, 动作 delete SiteIndex : 控制器 Site , 动作 Index.
你也可以创建 2 个任务,格式是 [ControllerId]Viewing, [ControllerId]Administrating (例如PostViewing, PostAdministrating).
所有操作被分配到 administrating 任务,通过在 srbac 配置中编辑 userActions 属性,你可以选择哪些操作被分配到viewing 任务。
若你也想要 srbac 在控制器中自动检查访问权限,你的控制器应当扩展 srbac 模块中的 SBaseController 类或其子类。
SbaseController 重写 beforeAction($action) 方法并检查当前用户是否有权限访问当前的 controller/action。
要决定一个用户没有权限访问页面后的要做的事情,你可以重写 SBaseController 中的 onUnauthorizedAccess 方法。 这样你可以显示一个未授权信息页面,转向到登录页面等。
国际化
若你想要翻译 srbac 文本,你应当在 Yii 配置文件中设置目标语言:'language'=>'fr',
然后创建如下包含翻译信息的文件:
srbac/messages/fr/srbac.php (你可以复制 el_gr/srbac.php 并翻译其中的信息)。
srbac/views/install/fr/installText.php (你应当翻译 srbac/views/install/installText.php)
转载:http://hi.baidu.com/begin/item/bdeda03e777316ee1b96968f
相关文章推荐
- Yii的RBAC权限控制的使用——SRBAC
- Yii中使用RBAC完全指南 (用户角色权限控制)
- 深入解析yii权限分级式访问控制的实现(非RBAC法)
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- yii 权限分级式访问控制的实现(非RBAC法)
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- 如何使用 RBAC 组件实现访问控制
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- Yii中基于角色的访问控制(RBAC)的使用
- yii使用srbac实现权限管理 (1)安装
- 浅析Yii中使用RBAC的完全指南(用户角色权限控制)
- 在yii中使用Filter实现RBAC权限自动判断
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- yii 权限分级式访问控制的实现(非RBAC法)——已验证
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制