Yii框架:基于角色的访问控制

5
我正在使用Yii框架为《使用Yii框架进行敏捷Web应用程序开发》中提到的应用程序实现基于角色的访问控制。我已经实现了第189页之前的所有内容。
第189页介绍了以下方法,可用于检查用户是否被允许执行某些操作:
``` If( Yii::app()->user->checkAccess('createIssue')) { //执行所需逻辑 } ```
但是,这个方法对于已分配到“createIssue”操作的用户总是返回false。
以下是RBAC的数据库图表:
![enter image description here](https://istack.dev59.com/5ez9p.webp)
我正在使用以下命令将UserID和角色链接到authassignment表:
``` $auth=Yii::app()->authManager; $auth->assign('member',1); ```
可以看出,我的用户表和authassignment表之间没有直接关系。
我还在配置文件夹中的main.php文件中进行了配置。
这就是我们迄今为止所做的一切,如果有任何遗漏的地方,请分享您的知识。先感谢您的帮助。
1个回答

6
当然,用户和任务之间必须存在直接关系。在下面的代码片段中:
$auth=Yii::app()->authManager; $auth->assign('member',1)

'member' 属于 authiments,而 '1' 是被分配该角色的用户的 ID。在 "authassigment" 表中,"userid" 必须指向 users 表。


是的,我犯了一个愚蠢的错误。对不起,浪费了你们的时间。 - KItis
2
不要对自己太苛刻,那种疏忽非常普遍。能帮助你是我的荣幸。 - Alfredo Castaneda Garcia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接