问一下里面的item有什么用途,个人不大理解
还有就是为什么不采用control与action的控制方式来控制访问
问一下里面的item有什么用途,个人不大理解
还有就是为什么不采用control与action的控制方式来控制访问
第一个我也太清楚item是指哪里的item
第二个
还有就是为什么不采用control与action的控制方式来控制访问
这个你可以写一个Controller的子类,然后添加一个过滤器filter方法
通过
$module = ucfirst(Yii::app()->controller->module->id);
$controller = ucfirst($filterChain->controller->id);
$action = ucfirst($filterChain->action->id);
获得路由动作,然后再进行权限判断
其它controller继承这个类,就可以实现全局的控制访问了.
定义授权等级体总共分三步:定义授权项目,建立授权项目之间的关系,还要分配角色给用户。 authManager 应用组件提供了用于完成这三项任务的一系列 API 。
要定义一个授权项目,可调用下列方法之一,具体取决于项目的类型:
CAuthManager::createRole
CAuthManager::createTask
CAuthManager::createOperation
建立授权项目之后,我们就可以调用下列方法建立授权项目之间的关系:
[color="#FF0000"]CAuthManager::addItemChild
CAuthManager::removeItemChild[/color]
CAuthItem::addChild
CAuthItem::removeChild
最后,我们调用下列方法将角色分配给用户。
CAuthManager::assign
CAuthManager::revoke
下面的代码演示了使用 Yii 提供的 API 构建一个授权体系的例子。。。。
item就是这个里面的,详见http://www.yiiframework.com/doc/guide/1.1/zh_cn/topics.auth#sec-5
你看仔细些就有了
概览(Overview)
在 Yii 的 RBAC 中,一个基本的概念是 [color="#FF0000"]授权项目(authorization item)。 一个授权项目就是一个做某件事的许可(例如新帖发布,用户管理)。根据其粒度和目标受众, 授权项目可分为 操作(operations),任务(tasks) 和 角色(roles)[/color]。 一个角色由若干任务组成,一个任务由若干操作组成, 而一个操作就是一个许可,不可再分。 例如,我们有一个系统,它有一个 管理员 角色,它由 帖子管理 和 用户管理 任务组成。 用户管理 任务可以包含 创建用户,修改用户 和 删除用户 操作组成。 为保持灵活性,Yii 还允许一个角色包含其他角色或操作,一个任务可以包含其他操作,一个操作可以包括其他操作。