介面 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 的更多詳細資訊與使用方式,請參閱安全授權指南文章。
公開方法
方法詳情
新增角色、權限或規則到 RBAC 系統。
public abstract boolean add ( $object ) | ||
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
return | boolean |
角色、權限或規則是否成功新增到系統 |
---|---|---|
throws | Exception |
如果資料驗證或儲存失敗(例如角色或權限的名稱不是唯一的) |
public function add($object);
新增一個項目作為另一個項目的子項目。
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);
指派角色給使用者。
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);
檢查是否可以新增子項目到父項目。
public abstract boolean canAddChild ( $parent, $child ) | ||
$parent | yii\rbac\Item |
父項目 |
$child | yii\rbac\Item |
要加入階層結構的子項目 |
return | boolean |
加入的可能性 |
---|
public function canAddChild($parent, $child);
定義於: 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 = []);
建立新的 Permission 物件。
請注意,新建立的許可尚未加入 RBAC 系統。您必須填寫所需的資料並呼叫 add() 以將其加入系統。
public abstract yii\rbac\Permission createPermission ( $name ) | ||
許可名稱 | 字串 |
許可名稱 |
return | yii\rbac\Permission |
新的 Permission 物件 |
---|
public function createPermission($name);
建立新的 Role 物件。
請注意,新建立的角色尚未加入 RBAC 系統。您必須填寫所需的資料並呼叫 add() 以將其加入系統。
public abstract yii\rbac\Role createRole ( $name ) | ||
許可名稱 | 字串 |
角色名稱 |
return | yii\rbac\Role |
新的 Role 物件 |
---|
public function createRole($name);
回傳關於角色和使用者的指派資訊。
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);
回傳指定使用者的所有角色指派資訊。
public abstract yii\rbac\Assignment[] getAssignments ( $userId ) | ||
使用者 ID | string|integer |
使用者 ID (請參閱 yii\web\User::$id) |
return | yii\rbac\Assignment[] |
依角色名稱索引的指派。如果沒有角色指派給使用者,則會傳回空陣列。 |
---|
public function getAssignments($userId);
回傳指定角色的子角色。深度不限。
public abstract yii\rbac\Role[] getChildRoles ( $roleName ) | ||
角色名稱 | 字串 |
要尋找子角色的角色名稱 |
return | yii\rbac\Role[] |
子角色。陣列依角色名稱索引。第一個元素是父角色本身的實例。 |
---|---|---|
throws | yii\base\InvalidParamException |
如果找不到依 $roleName 取得的角色 |
public function getChildRoles($roleName);
回傳子權限和/或角色。
public abstract yii\rbac\Item[] getChildren ( $name ) | ||
許可名稱 | 字串 |
父名稱 |
return | yii\rbac\Item[] |
子許可和/或角色 |
---|
public function getChildren($name);
回傳具名的權限。
public abstract yii\rbac\Permission|null getPermission ( $name ) | ||
許可名稱 | 字串 |
許可名稱。 |
return | yii\rbac\Permission|null |
對應到指定名稱的許可。如果沒有此許可,則會傳回 Null。 |
---|
public function getPermission($name);
回傳系統中的所有權限。
public abstract yii\rbac\Permission[] getPermissions ( ) | ||
return | yii\rbac\Permission[] |
系統中的所有許可。陣列依許可名稱索引。 |
---|
public function getPermissions();
回傳指定角色代表的所有權限。
public abstract yii\rbac\Permission[] getPermissionsByRole ( $roleName ) | ||
角色名稱 | 字串 |
角色名稱 |
return | yii\rbac\Permission[] |
角色代表的所有許可。陣列依許可名稱索引。 |
---|
public function getPermissionsByRole($roleName);
回傳使用者擁有的所有權限。
public abstract yii\rbac\Permission[] getPermissionsByUser ( $userId ) | ||
使用者 ID | string|integer |
使用者 ID (請參閱 yii\web\User::$id) |
return | yii\rbac\Permission[] |
使用者擁有的所有許可。陣列依許可名稱索引。 |
---|
public function getPermissionsByUser($userId);
回傳具名的角色。
public abstract yii\rbac\Role|null getRole ( $name ) | ||
許可名稱 | 字串 |
角色名稱。 |
return | yii\rbac\Role|null |
對應到指定名稱的角色。如果沒有此角色,則會傳回 Null。 |
---|
public function getRole($name);
回傳系統中的所有角色。
public abstract yii\rbac\Role[] getRoles ( ) | ||
return | yii\rbac\Role[] |
系統中的所有角色。陣列依角色名稱索引。 |
---|
public function getRoles();
回傳透過 assign() 指派給使用者的角色。
請注意,不會傳回未直接指派給使用者的子角色。
public abstract yii\rbac\Role[] getRolesByUser ( $userId ) | ||
使用者 ID | string|integer |
使用者 ID (請參閱 yii\web\User::$id) |
return | yii\rbac\Role[] |
直接指派給使用者的所有角色。陣列依角色名稱索引。 |
---|
public function getRolesByUser($userId);
回傳指定名稱的規則。
public abstract yii\rbac\Rule|null getRule ( $name ) | ||
許可名稱 | 字串 |
規則名稱 |
return | yii\rbac\Rule|null |
規則物件,如果指定的名稱沒有對應到規則,則為 null。 |
---|
public function getRule($name);
回傳系統中所有可用的規則。
public abstract yii\rbac\Rule[] getRules ( ) | ||
return | yii\rbac\Rule[] |
依規則名稱索引的規則 |
---|
public function getRules();
回傳指派給指定角色的所有使用者 ID。
public abstract array getUserIdsByRole ( $roleName ) | ||
角色名稱 | 字串 | |
return | 陣列 |
使用者 ID 字串的陣列 |
---|
public function getUserIdsByRole($roleName);
回傳一個值,指示子項目是否已存在於父項目中。
public abstract boolean hasChild ( $parent, $child ) | ||
$parent | yii\rbac\Item | |
$child | yii\rbac\Item | |
return | boolean |
|
---|
public function hasChild($parent, $child);
從 RBAC 系統移除角色、權限或規則。
public abstract boolean remove ( $object ) | ||
$object | yii\rbac\Role|yii\rbac\Permission|yii\rbac\Rule | |
return | boolean |
是否成功移除角色、許可或規則 |
---|
public function remove($object);
移除所有權限。
所有父子關係將相應地調整。
public abstract void removeAllPermissions ( ) |
public function removeAllPermissions();
移除所有規則。
具有規則的所有角色和許可將相應地調整。
public abstract void removeAllRules ( ) |
public function removeAllRules();
從父項目移除子項目。
請注意,不會刪除子項目。僅移除父子關係。
public abstract boolean removeChild ( $parent, $child ) | ||
$parent | yii\rbac\Item | |
$child | yii\rbac\Item | |
return | boolean |
移除是否成功 |
---|
public function removeChild($parent, $child);
從父項目中移除所有子項目。
請注意,不會刪除子項目。僅移除父子關係。
public abstract boolean removeChildren ( $parent ) | ||
$parent | yii\rbac\Item | |
return | boolean |
移除是否成功 |
---|
public function removeChildren($parent);
從使用者撤銷角色。
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);
從使用者撤銷所有角色。
public abstract boolean revokeAll ( $userId ) | ||
使用者 ID | 混合型 |
使用者 ID (請參閱 yii\web\User::$id) |
return | boolean |
撤銷是否成功 |
---|
public function revokeAll($userId);
更新系統中指定的角色、權限或規則。
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);
註冊 或 登入 以發表評論。