2

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

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

4

1 回答 1

1

您可以通过传递一个包含您要检查的角色的数组来使用 RBAC 和 accessRules() 方法(当然,这些角色需要在您的 RBAC 模式中定义才能工作)。

更多信息:http ://www.yiiframework.com/doc/api/1.1/CAccessControlFilter

你也可以单独使用 RBAC,每次你想检查用户是否有访问资源、任务或其他任何东西的权限时调用 Yii::app()->user->checkAccess()。

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

于 2011-06-16T05:06:06.403 回答