2011-06-15 40 views
2

在Yii中,有一个accessControl过滤器和一个accessRules方法来处理对某些任务的简单授权。在我的应用程序中,我有RBAC授权用户进入角色。在Yii框架中,accessControl和accessRules独立于RBAC吗?

我的问题是我应该使用除RBAC外的accessControl过滤器和accessRules方法,还是我可以删除它们并仅使用RBAC?

回答

1

您可以通过将RBAC与accessRules()方法一起传递给您想要检查的角色(当然,这些角色需要在您的RBAC模式中定义以使其工作)来使用RBAC。

再在其上的信息:http://www.yiiframework.com/doc/api/1.1/CAccessControlFilter

您也可以通过其自身的使用RBAC,通过调用的Yii ::应用程序() - >用户>的checkAccess()每次要检查,如果用户有权限访问资源,任务或其他任何东西。

当您需要根据用户的角色限制对控制器/操作的访问时,我建议您使用accessRules + RBAC,并且在涉及更精细的访问控制时单独使用RBAC。