0 追蹤者

介面 yii\rbac\ManagerInterface

繼承自yii\rbac\CheckAccessInterface
實作於yii\rbac\BaseManager, yii\rbac\DbManager, yii\rbac\PhpManager
自版本2.0
原始碼 https://github.com/yiisoft/yii2/blob/master/framework/rbac/ManagerInterface.php

關於 ManagerInterface 的更多詳細資訊與使用方式,請參閱安全授權指南文章

公開方法

隱藏繼承方法

方法 描述 定義於
add() 新增角色、權限或規則到 RBAC 系統。 yii\rbac\ManagerInterface
addChild() 新增一個項目作為另一個項目的子項目。 yii\rbac\ManagerInterface
assign() 指派角色給使用者。 yii\rbac\ManagerInterface
canAddChild() 檢查是否可以新增子項目到父項目。 yii\rbac\ManagerInterface
checkAccess() 檢查使用者是否具有指定的權限。 yii\rbac\CheckAccessInterface
createPermission() 建立新的 Permission 物件。 yii\rbac\ManagerInterface
createRole() 建立新的 Role 物件。 yii\rbac\ManagerInterface
getAssignment() 回傳關於角色和使用者的指派資訊。 yii\rbac\ManagerInterface
getAssignments() 回傳指定使用者的所有角色指派資訊。 yii\rbac\ManagerInterface
getChildRoles() 回傳指定角色的子角色。深度不限。 yii\rbac\ManagerInterface
getChildren() 回傳子權限和/或角色。 yii\rbac\ManagerInterface
getPermission() 回傳具名的權限。 yii\rbac\ManagerInterface
getPermissions() 回傳系統中的所有權限。 yii\rbac\ManagerInterface
getPermissionsByRole() 回傳指定角色代表的所有權限。 yii\rbac\ManagerInterface
getPermissionsByUser() 回傳使用者擁有的所有權限。 yii\rbac\ManagerInterface
getRole() 回傳具名的角色。 yii\rbac\ManagerInterface
getRoles() 回傳系統中的所有角色。 yii\rbac\ManagerInterface
getRolesByUser() 回傳透過 assign() 指派給使用者的角色。 yii\rbac\ManagerInterface
getRule() 回傳指定名稱的規則。 yii\rbac\ManagerInterface
getRules() 回傳系統中所有可用的規則。 yii\rbac\ManagerInterface
getUserIdsByRole() 回傳指派給指定角色的所有使用者 ID。 yii\rbac\ManagerInterface
hasChild() 回傳一個值,指示子項目是否已存在於父項目中。 yii\rbac\ManagerInterface
remove() 從 RBAC 系統移除角色、權限或規則。 yii\rbac\ManagerInterface
removeAll() 移除所有授權資料,包括角色、權限、規則和指派。 yii\rbac\ManagerInterface
removeAllAssignments() 移除所有角色指派。 yii\rbac\ManagerInterface
removeAllPermissions() 移除所有權限。 yii\rbac\ManagerInterface
removeAllRoles() 移除所有角色。 yii\rbac\ManagerInterface
removeAllRules() 移除所有規則。 yii\rbac\ManagerInterface
removeChild() 從父項目移除子項目。 yii\rbac\ManagerInterface
removeChildren() 從父項目中移除所有子項目。 yii\rbac\ManagerInterface
revoke() 從使用者撤銷角色。 yii\rbac\ManagerInterface
revokeAll() 從使用者撤銷所有角色。 yii\rbac\ManagerInterface
update() 更新系統中指定的角色、權限或規則。 yii\rbac\ManagerInterface

方法詳情

隱藏繼承方法

add() public abstract method

新增角色、權限或規則到 RBAC 系統。

public abstract boolean add ( $object )
$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

角色、權限或規則是否成功新增到系統

throws Exception

如果資料驗證或儲存失敗(例如角色或權限的名稱不是唯一的)

                public function add($object);

            
addChild() public abstract method

新增一個項目作為另一個項目的子項目。

public abstract boolean addChild ( $parent, $child )
$parent yii\rbac\Item
$child yii\rbac\Item
return boolean

子項目是否成功新增

throws yii\base\Exception

如果父子關係已存在或偵測到迴圈。

                public function addChild($parent, $child);

            
assign() public abstract method

指派角色給使用者。

public abstract yii\rbac\Assignment assign ( $role, $userId )
角色 yii\rbac\Role|yii\rbac\Permission
使用者 ID string|integer

使用者 ID (請參閱 yii\web\User::$id)

return yii\rbac\Assignment

角色指派資訊。

throws Exception

如果角色已經指派給使用者

                public function assign($role, $userId);

            
canAddChild() public abstract method (available since version 2.0.8)

檢查是否可以新增子項目到父項目。

public abstract boolean canAddChild ( $parent, $child )
$parent yii\rbac\Item

父項目

$child yii\rbac\Item

要加入階層結構的子項目

return boolean

加入的可能性

                public function canAddChild($parent, $child);

            
checkAccess() public abstract method

定義於: yii\rbac\CheckAccessInterface::checkAccess()

檢查使用者是否具有指定的權限。

public abstract boolean checkAccess ( $userId, $permissionName, $params = [] )
使用者 ID string|integer

使用者 ID。這應該是代表使用者唯一識別碼的整數或字串。請參閱 yii\web\User::$id

許可名稱 字串

要檢查的許可名稱

參數 陣列

將傳遞給與指派給使用者的角色和許可相關聯的規則的 名稱-值 組。

return boolean

使用者是否具有指定的許可。

throws yii\base\InvalidParamException

如果 $permissionName 沒有指向現有的許可

                public function checkAccess($userId, $permissionName, $params = []);

            
createPermission() public abstract method

建立新的 Permission 物件。

請注意,新建立的許可尚未加入 RBAC 系統。您必須填寫所需的資料並呼叫 add() 以將其加入系統。

public abstract yii\rbac\Permission createPermission ( $name )
許可名稱 字串

許可名稱

return yii\rbac\Permission

新的 Permission 物件

                public function createPermission($name);

            
createRole() public abstract method

建立新的 Role 物件。

請注意,新建立的角色尚未加入 RBAC 系統。您必須填寫所需的資料並呼叫 add() 以將其加入系統。

public abstract yii\rbac\Role createRole ( $name )
許可名稱 字串

角色名稱

return yii\rbac\Role

新的 Role 物件

                public function createRole($name);

            
getAssignment() public abstract method

回傳關於角色和使用者的指派資訊。

public abstract yii\rbac\Assignment|null getAssignment ( $roleName, $userId )
角色名稱 字串

角色名稱

使用者 ID string|integer

使用者 ID (請參閱 yii\web\User::$id)

return yii\rbac\Assignment|null

指派資訊。如果角色未指派給使用者,則會傳回 Null。

                public function getAssignment($roleName, $userId);

            
getAssignments() public abstract method

回傳指定使用者的所有角色指派資訊。

public abstract yii\rbac\Assignment[] getAssignments ( $userId )
使用者 ID string|integer

使用者 ID (請參閱 yii\web\User::$id)

return yii\rbac\Assignment[]

依角色名稱索引的指派。如果沒有角色指派給使用者,則會傳回空陣列。

                public function getAssignments($userId);

            
getChildRoles() public abstract method (available since version 2.0.10)

回傳指定角色的子角色。深度不限。

public abstract yii\rbac\Role[] getChildRoles ( $roleName )
角色名稱 字串

要尋找子角色的角色名稱

return yii\rbac\Role[]

子角色。陣列依角色名稱索引。第一個元素是父角色本身的實例。

throws yii\base\InvalidParamException

如果找不到依 $roleName 取得的角色

                public function getChildRoles($roleName);

            
getChildren() public abstract method

回傳子權限和/或角色。

public abstract yii\rbac\Item[] getChildren ( $name )
許可名稱 字串

父名稱

return yii\rbac\Item[]

子許可和/或角色

                public function getChildren($name);

            
getPermission() public abstract method

回傳具名的權限。

public abstract yii\rbac\Permission|null getPermission ( $name )
許可名稱 字串

許可名稱。

return yii\rbac\Permission|null

對應到指定名稱的許可。如果沒有此許可,則會傳回 Null。

                public function getPermission($name);

            
getPermissions() public abstract method

回傳系統中的所有權限。

public abstract yii\rbac\Permission[] getPermissions ( )
return yii\rbac\Permission[]

系統中的所有許可。陣列依許可名稱索引。

                public function getPermissions();

            
getPermissionsByRole() public abstract method

回傳指定角色代表的所有權限。

public abstract yii\rbac\Permission[] getPermissionsByRole ( $roleName )
角色名稱 字串

角色名稱

return yii\rbac\Permission[]

角色代表的所有許可。陣列依許可名稱索引。

                public function getPermissionsByRole($roleName);

            
getPermissionsByUser() public abstract method

回傳使用者擁有的所有權限。

public abstract yii\rbac\Permission[] getPermissionsByUser ( $userId )
使用者 ID string|integer

使用者 ID (請參閱 yii\web\User::$id)

return yii\rbac\Permission[]

使用者擁有的所有許可。陣列依許可名稱索引。

                public function getPermissionsByUser($userId);

            
getRole() public abstract method

回傳具名的角色。

public abstract yii\rbac\Role|null getRole ( $name )
許可名稱 字串

角色名稱。

return yii\rbac\Role|null

對應到指定名稱的角色。如果沒有此角色,則會傳回 Null。

                public function getRole($name);

            
getRoles() public abstract method

回傳系統中的所有角色。

public abstract yii\rbac\Role[] getRoles ( )
return yii\rbac\Role[]

系統中的所有角色。陣列依角色名稱索引。

                public function getRoles();

            
getRolesByUser() public abstract method

回傳透過 assign() 指派給使用者的角色。

請注意,不會傳回未直接指派給使用者的子角色。

public abstract yii\rbac\Role[] getRolesByUser ( $userId )
使用者 ID string|integer

使用者 ID (請參閱 yii\web\User::$id)

return yii\rbac\Role[]

直接指派給使用者的所有角色。陣列依角色名稱索引。

                public function getRolesByUser($userId);

            
getRule() public abstract method

回傳指定名稱的規則。

public abstract yii\rbac\Rule|null getRule ( $name )
許可名稱 字串

規則名稱

return yii\rbac\Rule|null

規則物件,如果指定的名稱沒有對應到規則,則為 null。

                public function getRule($name);

            
getRules() public abstract method

回傳系統中所有可用的規則。

public abstract yii\rbac\Rule[] getRules ( )
return yii\rbac\Rule[]

依規則名稱索引的規則

                public function getRules();

            
getUserIdsByRole() public abstract method (available since version 2.0.7)

回傳指派給指定角色的所有使用者 ID。

public abstract array getUserIdsByRole ( $roleName )
角色名稱 字串
return 陣列

使用者 ID 字串的陣列

                public function getUserIdsByRole($roleName);

            
hasChild() public abstract method

回傳一個值,指示子項目是否已存在於父項目中。

public abstract boolean hasChild ( $parent, $child )
$parent yii\rbac\Item
$child yii\rbac\Item
return boolean

$child 是否已是 $parent 的子項目

                public function hasChild($parent, $child);

            
remove() public abstract method

從 RBAC 系統移除角色、權限或規則。

public abstract boolean remove ( $object )
$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

是否成功移除角色、許可或規則

                public function remove($object);

            
removeAll() public abstract method

移除所有授權資料,包括角色、權限、規則和指派。

public abstract void removeAll ( )

                public function removeAll();

            
removeAllAssignments() public abstract method

移除所有角色指派。

public abstract void removeAllAssignments ( )

                public function removeAllAssignments();

            
removeAllPermissions() public abstract method

移除所有權限。

所有父子關係將相應地調整。

public abstract void removeAllPermissions ( )

                public function removeAllPermissions();

            
removeAllRoles() public abstract method

移除所有角色。

所有父子關係將相應地調整。

public abstract void removeAllRoles ( )

                public function removeAllRoles();

            
removeAllRules() public abstract method

移除所有規則。

具有規則的所有角色和許可將相應地調整。

public abstract void removeAllRules ( )

                public function removeAllRules();

            
removeChild() public abstract method

從父項目移除子項目。

請注意,不會刪除子項目。僅移除父子關係。

public abstract boolean removeChild ( $parent, $child )
$parent yii\rbac\Item
$child yii\rbac\Item
return boolean

移除是否成功

                public function removeChild($parent, $child);

            
removeChildren() public abstract method

從父項目中移除所有子項目。

請注意,不會刪除子項目。僅移除父子關係。

public abstract boolean removeChildren ( $parent )
$parent yii\rbac\Item
return boolean

移除是否成功

                public function removeChildren($parent);

            
revoke() public abstract method

從使用者撤銷角色。

public abstract boolean revoke ( $role, $userId )
角色 yii\rbac\Role|yii\rbac\Permission
使用者 ID string|integer

使用者 ID (請參閱 yii\web\User::$id)

return boolean

撤銷是否成功

                public function revoke($role, $userId);

            
revokeAll() public abstract method

從使用者撤銷所有角色。

public abstract boolean revokeAll ( $userId )
使用者 ID 混合型

使用者 ID (請參閱 yii\web\User::$id)

return boolean

撤銷是否成功

                public function revokeAll($userId);

            
update() public abstract method

更新系統中指定的角色、權限或規則。

public abstract boolean update ( $name, $object )
許可名稱 字串

角色、許可或規則的舊名稱

$object yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule
return boolean

更新是否成功

throws Exception

如果資料驗證或儲存失敗(例如角色或權限的名稱不是唯一的)

                public function update($name, $object);