我正在使用 yii 框架为使用 yii 框架的敏捷 Web 应用程序开发一书中提到的应用程序实现基于角色的访问控制。我已经实现了第 189 页之前的所有内容。
第 189 页说可以使用以下方法来检查是否允许用户执行某些操作。
If( Yii::app()->user->checkAccess('createIssue')) { //perform needed logic }
但对于已分配给 createIssue 操作的用户,此方法始终返回 false
下面是RBAC的数据库图
我正在使用以下命令为授权表链接用户 ID 和角色。
$auth=Yii::app()->authManager; $auth->assign('member',1);
如您所见,我的用户表和授权表没有直接关系。
我已经在配置文件夹中配置了 main.php 文件
这些是我们到目前为止所做的一切,如果这里缺少任何东西,任何人都可以与我分享您的知识。在此先感谢您的帮助。
最佳答案
来吧,伙计!当然,用户和分配之间必须有直接关系。在下面的代码中:
$auth=Yii::app()->authManager; $auth->assign('member',1)
'member' 属于 authiments,'1' 是分配有该角色的用户的 ID。 “authassigment”表中的“userid”必须指向用户表。
关于php - Yii 框架 : role based access control,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8847914/