Yii 哎。基于角色获取用户
我正在使用nativeYii 哎。基于角色获取用户,yii,rbac,Yii,Rbac,我正在使用nativeCDbAuthManager在我的webapp中实现RBAC。如何获取所有具有角色权限的用户?假设我有一个名为updateprofile的角色。我希望获得分配给该角色的所有用户。我搜索了文档,找不到函数 (我知道我可以遍历所有用户模型,并在foreach循环中执行checkAccess(),但我更喜欢更好的解决方案)我发现最简单的方法是创建一个AuthAssignment模型,该模型映射到您的auth\u分配表。然后,您可以为它设置关系、范围等,并使用它进行查询以检索所有用
CDbAuthManager
在我的webapp中实现RBAC。如何获取所有具有角色权限的用户?假设我有一个名为updateprofile
的角色。我希望获得分配给该角色的所有用户。我搜索了文档,找不到函数
(我知道我可以遍历所有用户模型,并在
foreach
循环中执行checkAccess()
,但我更喜欢更好的解决方案)我发现最简单的方法是创建一个AuthAssignment模型,该模型映射到您的auth\u分配表。然后,您可以为它设置关系、范围等,并使用它进行查询以检索所有用户模型。auth_分配表没有什么特别之处(因为它主要是其中的角色)。我发现最简单的方法是创建一个映射到auth_分配表的AuthAssignment模型。然后,您可以为它设置关系、范围等,并使用它进行查询以检索所有用户模型。auth_分配表没有什么特别之处(因为它主要是其中的角色)。代码类似
class AuthAssginment extends CActiveRecord{.....
public function getUsersBaseOnRole($role) {
return Yii::app()->db->createCommand()
->select('userid')
->from($this->tableName())
->where('itemname=:role', array(
':role' => $role,))
->queryAll() ;
}....
代码式
class AuthAssginment extends CActiveRecord{.....
public function getUsersBaseOnRole($role) {
return Yii::app()->db->createCommand()
->select('userid')
->from($this->tableName())
->where('itemname=:role', array(
':role' => $role,))
->queryAll() ;
}....
我认为其他回复并没有给您提供完美的结果,因为角色可以是分层的,因此,您不能使用直接查询或关系。我的有效解决方案是:
我认为其他回复并没有给您提供完美的结果,因为角色可以是分层的,因此,您不能使用直接查询或关系。我的有效解决方案是:
如果您喜欢更好的解决方案,则应使用此扩展:如果您喜欢更好的解决方案,则应使用此扩展: