<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 管理 API 提供對Casbin策略管理完全支持的基本API。 ## 參考 全局變量`e`是執行者實例。 Go ~~~go e := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv") ~~~ Node.js ~~~javascript const e = await newEnforcer('examples/rbac_model.conf', 'examples/rbac_policy.csv') ~~~ PHP ~~~php $e = new Enforcer('examples/rbac_model.conf', 'examples/rbac_policy.csv'); ~~~ ### `GetAllSubjects()` GetAllSubjects 獲取當前策略中顯示的主題列表。 For example: Go ~~~go allSubjects := e.GetAllSubjects() ~~~ Node.js ~~~javas const allSubjects = e.getAllSubjects() ~~~ PHP ```php $allSubjects = $e->getAllSubjects(); ``` ### `GetAllNamedSubjects()` GetAllNamedSubjects 獲取當前命名策略中顯示的主題列表。 For example: Go ```go allNamedSubjects := e.GetAllNamedSubjects("p") ``` Node.js ```javascript const allNamedSubjects = e.getAllNamedSubjects('p') ``` PHP ```php $allNamedSubjects = $e->getAllNamedSubjects("p"); ``` ### `GetAllObjects()` GetAllObjects 獲取當前策略中顯示的對象列表。 例如: Go ```go allObjects := e.GetAllObjects() ``` Node.js ```javascript const allObjects = e.getAllObjects() ``` PHP ```php $allObjects = $e->getAllObjects(); ``` ### `GetAllNamedObjects()` GetAllNamedObjects 獲取當前命名策略中顯示的對象列表。 例如: Go ```go allNamedObjects := e.GetAllNamedObjects("p") ``` Node.js ```javas const allNamedObjects = e.getAllNamedObjects('p') ``` PHP ```php $allNamedObjects = $e->getAllNamedObjects("p"); ``` ### `GetAllActions()` GetAllActions 獲取當前策略中顯示的操作列表。 例如: Go ```go allActions := e.GetAllActions() ``` Node.js ```javas const allActions = e.getAllActions() ``` PHP ```php $allActions = $e->getAllActions(); ``` ### `GetAllNamedActions()` GetAllNamedActions 獲取當前命名策略中顯示的操作列表。 例如: Go ```go allNamedActions := e.GetAllNamedActions("p") ``` Node.js ```javas const allNamedActions = e.getAllNamedActions('p') ``` PHP ```php $allNamedActions = $e->getAllNamedActions("p"); ``` ### `GetAllRoles()` GetAllRoles獲取當前策略中顯示的角色列表。 例如: Go ```go allRoles = e.GetAllRoles() ``` Node.js ```javas const allRoles = e.getAllRoles() ``` PHP ```php $allRoles = $e->getAllRoles(); ``` ### `GetAllNamedRoles()` GetAllNamedRoles 獲取當前命名策略中顯示的角色列表。 例如: Go ```go allNamedRoles := e.GetAllNamedRoles("g") ``` Node.js ```javas const allNamedRoles = e.getAllNamedRoles('g') ``` PHP ```php $allNamedRoles = $e->getAllNamedRoles('g'); ``` ### `GetPolicy()` GetPolicy 獲取策略中的所有授權規則。 例如: Go ```go policy = e.GetPolicy() ``` Node.js ```javas const policy = e.getPolicy() ``` PHP ```php $policy = $e->getPolicy(); ``` ### `GetFilteredPolicy()` GetFilteredPolicy 獲取策略中的所有授權規則,可以指定字段篩選器。 例如: Go ```go filteredPolicy := e.GetFilteredPolicy(0, "alice") ``` Node.js ```javas const filteredPolicy = e.getFilteredPolicy(0, 'alice') ``` PHP ```php $filteredPolicy = $e->getFilteredPolicy(0, "alice"); ``` ### `GetNamedPolicy()` GetNamedPolicy 獲取命名策略中的所有授權規則。 例如: Go ```go namedPolicy := e.GetNamedPolicy("p") ``` Node.js ```javas const namedPolicy = e.getNamedPolicy('p') ``` PHP ```php $namedPolicy = $e->getNamedPolicy("p"); ``` ### `GetFilteredNamedPolicy()` GetFilteredNamedPolicy 獲取命名策略中的所有授權規則,可以指定字段過濾器。 例如: Go ```go filteredNamedPolicy = e.GetFilteredNamedPolicy("p", 0, "bob") ``` Node.js ```javas const filteredNamedPolicy = e.getFilteredNamedPolicy('p', 0, 'bob') ``` PHP ```php $filteredNamedPolicy = $e->getFilteredNamedPolicy("p", 0, "bob"); ``` ### `GetGroupingPolicy()` GetGroupingPolicy 獲取策略中的所有角色繼承規則。 例如: Go ```go groupingPolicy := e.GetGroupingPolicy() ``` Node.js ```javas const groupingPolicy = e.getGroupingPolicy() ``` PHP ```php $groupingPolicy = $e->getGroupingPolicy(); ``` ### `GetFilteredGroupingPolicy()` GetFilteredGroupingPolicy 獲取策略中的所有角色繼承規則,可以指定字段篩選器。 例如: Go ```go filteredGroupingPolicy := e.GetFilteredGroupingPolicy(0, "alice") ``` Node.js ```javas const filteredGroupingPolicy = e.getFilteredGroupingPolicy(0, 'alice') ``` PHP ```php $filteredGroupingPolicy = $e->getFilteredGroupingPolicy(0, "alice"); ``` ### `GetNamedGroupingPolicy()` GetNamedGroupingPolicy 獲取策略中的所有角色繼承規則。 例如: Go ```go namedGroupingPolicy := e.GetNamedGroupingPolicy("g") ``` Node.js ```javas const namedGroupingPolicy = e.getNamedGroupingPolicy('g') ``` PHP ```php $namedGroupingPolicy = $e->getNamedGroupingPolicy("g"); ``` ### `GetFilteredNamedGroupingPolicy()` GetFilteredNamedGroupingPolicy 獲取策略中的所有角色繼承規則。 例如: Go ```go namedGroupingPolicy := e.GetFilteredNamedGroupingPolicy("g", 0, "alice") ``` Node.js ```javas const namedGroupingPolicy = e.getFilteredNamedGroupingPolicy('g', 0, 'alice') ``` PHP ```php $namedGroupingPolicy = $e->getFilteredNamedGroupingPolicy("g", 0, "alice"); ``` ### `HasPolicy()` HasPolicy 確定是否存在授權規則。 例如: Go ```go hasPolicy := e.HasPolicy("data2_admin", "data2", "read") ``` Node.js ```javas const hasPolicy = e.hasPolicy('data2_admin', 'data2', 'read') ``` PHP ```php $hasPolicy = $e->hasPolicy('data2_admin', 'data2', 'read'); ``` ### `HasNamedPolicy()` HasNamedPolicy 確定是否存在命名授權規則。 例如: Go ```go hasNamedPolicy := e.HasNamedPolicy("p", "data2_admin", "data2", "read") ``` Node.js ```javas const hasNamedPolicy = e.hasNamedPolicy('p', 'data2_admin', 'data2', 'read') ``` PHP ```php $hasNamedPolicy = $e->hasNamedPolicy("p", "data2_admin", "data2", "read"); ``` ### `AddPolicy()` AddPolicy 向當前策略添加授權規則。 如果規則已經存在,函數返回false,并且不會添加規則。 否則,函數通過添加新規則并返回true。 例如: Go ```go added := e.AddPolicy("eve", "data3", "read") ``` Node.js ```javas const p = ['eve', 'data3', 'read'] const added = await e.addPolicy(...p) ``` PHP ```php $added = $e->addPolicy('eve', 'data3', 'read'); ``` ### `AddNamedPolicy()` AddNamedPolicy 向當前命名策略添加授權規則。 如果規則已經存在,函數返回false,并且不會添加規則。 否則,函數通過添加新規則并返回true。 例如: Go ```go added := e.AddNamedPolicy("p", "eve", "data3", "read") ``` Node.js ```javas const p = ['eve', 'data3', 'read'] const added = await e.addNamedPolicy('p', ...p) ``` PHP ```php $added = $e->addNamedPolicy("p", "eve", "data3", "read"); ``` ### `RemovePolicy()` RemovePolicy 從當前策略中刪除授權規則。 例如: Go ```go removed := e.RemovePolicy("alice", "data1", "read") ``` Node.js ```javas const p = ['alice', 'data1', 'read'] const removed = await e.removePolicy(...p) ``` PHP ```php $removed = $e->removePolicy("alice", "data1", "read"); ``` ### `RemoveFilteredPolicy()` RemoveFilteredPolicy 移除當前策略中的授權規則,可以指定字段篩選器。 RemovePolicy 從當前策略中刪除授權規則。 例如: Go ```go removed := e.RemoveFilteredPolicy(0, "alice", "data1", "read") ``` Node.js ```javas const p = ['alice', 'data1', 'read'] const removed = await e.removeFilteredPolicy(0, ...p) ``` PHP ```php $removed = $e->removeFilteredPolicy(0, "alice", "data1", "read"); ``` ### `RemoveNamedPolicy()` RemoveNamedPolicy 從當前命名策略中刪除授權規則。 例如: Go ```go removed := e.RemoveNamedPolicy("p", "alice", "data1", "read") ``` Node.js ```javas const p = ['alice', 'data1', 'read'] const removed = await e.removeNamedPolicy('p', ...p) ``` PHP ```php $removed = $e->removeNamedPolicy("p", "alice", "data1", "read"); ``` ### `RemoveFilteredNamedPolicy()` RemoveFilteredNamedPolicy 從當前命名策略中移除授權規則,可以指定字段篩選器。 例如: Go ```go removed := e.RemoveFilteredNamedPolicy("p", 0, "alice", "data1", "read") ``` Node.js ```javas const p = ['alice', 'data1', 'read'] const removed = await e.removeFilteredNamedPolicy('p', 0, ...p) ``` PHP ```php $removed = $e->removeFilteredNamedPolicy("p", 0, "alice", "data1", "read"); ``` ### `HasGroupingPolicy()` HasGroupingPolicy 確定是否存在角色繼承規則。 例如: Go ```go has := e.HasGroupingPolicy("alice", "data2_admin") ``` Node.js ```javas const has = e.hasGroupingPolicy('alice', 'data2_admin') ``` PHP ```php $has = $e->hasGroupingPolicy("alice", "data2_admin"); ``` ### `HasNamedGroupingPolicy()` HasNamedGroupingPolicy 確定是否存在命名角色繼承規則。 For example: Go ```go has := e.HasNamedGroupingPolicy("g", "alice", "data2_admin") ``` Node.js ```javas const has = e.hasNamedGroupingPolicy('g', 'alice', 'data2_admin') ``` PHP ```php $has = $e->hasNamedGroupingPolicy("g", "alice", "data2_admin"); ``` ### `AddGroupingPolicy()` AddGroupingPolicy 向當前策略添加角色繼承規則。 如果規則已經存在,函數返回false,并且不會添加規則。 如果規則已經存在,函數返回false,并且不會添加規則。 例如: Go ```go added := e.AddGroupingPolicy("group1", "data2_admin") ``` Node.js ```javas const added = await e.addGroupingPolicy('group1', 'data2_admin') ``` PHP ```php $added = $e->addGroupingPolicy("group1", "data2_admin"); ``` ### `AddNamedGroupingPolicy()` AddNamedGroupingPolicy 將命名角色繼承規則添加到當前策略。 如果規則已經存在,函數返回false,并且不會添加規則。 否則,函數通過添加新規則并返回true。 例如: Go ```go added := e.AddNamedGroupingPolicy("g", "group1", "data2_admin") ``` Node.js ```javas const added = await e.addNamedGroupingPolicy('g', 'group1', 'data2_admin') ``` PHP ```php $added = $e->addNamedGroupingPolicy("g", "group1", "data2_admin"); ``` ### `RemoveGroupingPolicy()` RemoveGroupingPolicy 從當前策略中刪除角色繼承規則。 例如: Go ```go removed := e.RemoveGroupingPolicy("alice", "data2_admin") ``` Node.js ```javas const removed = await e.removeGroupingPolicy('alice', 'data2_admin') ``` PHP ```php $removed = $e->removeGroupingPolicy("alice", "data2_admin"); ``` ### `RemoveFilteredGroupingPolicy()` RemoveFilteredGroupingPolicy 從當前策略中移除角色繼承規則,可以指定字段篩選器。 例如: Go ```go removed := e.RemoveFilteredGroupingPolicy(0, "alice") ``` Node.js ```javas const removed = await e.removeFilteredGroupingPolicy(0, 'alice') ``` PHP ```php $removed = $e->removeFilteredGroupingPolicy(0, "alice"); ``` ### `RemoveNamedGroupingPolicy()` RemoveNamedGroupingPolicy 從當前命名策略中移除角色繼承規則。 例如: Go ```go removed := e.RemoveNamedGroupingPolicy("g", "alice") ``` Node.js ```javas const removed = await e.removeNamedGroupingPolicy('g', 'alice') ``` PHP ```php $removed = $e->removeNamedGroupingPolicy("g", "alice"); ``` ### `RemoveFilteredNamedGroupingPolicy()` RemoveFilteredNamedGroupingPolicy 從當前命名策略中移除角色繼承規則,可以指定字段篩選器。 例如: Go ```go removed := e.RemoveFilteredNamedGroupingPolicy("g", 0, "alice") ``` Node.js ```javas const removed = await e.removeFilteredNamedGroupingPolicy('g', 0, 'alice') ``` PHP ```php $removed = $e->removeFilteredNamedGroupingPolicy("g", 0, "alice"); ``` ### `AddFunction()` AddFunction 添加自定義函數。 例如: Go ```go func CustomFunction(key1 string, key2 string) bool { if key1 == "/alice_data2/myid/using/res_id" && key2 == "/alice_data/:resource" { return true } else if key1 == "/alice_data2/myid/using/res_id" && key2 == "/alice_data2/:id/using/:resId" { return true } else { return false } } func CustomFunctionWrapper(args ...interface{}) (interface{}, error) { key1 := args[0].(string) key2 := args[1].(string) return bool(CustomFunction(key1, key2)), nil } e.AddFunction("keyMatchCustom", CustomFunctionWrapper) ``` Node.js ```javas Method is not implemented ``` PHP ```php func customFunction($key1, $key2) { if ($key1 == "/alice_data2/myid/using/res_id" && $key2 == "/alice_data/:resource") { return true; } elseif ($key1 == "/alice_data2/myid/using/res_id" && $key2 == "/alice_data2/:id/using/:resId") { return true; } else { return false; } } func customFunctionWrapper(...$args){ $key1 := $args[0]; $key2 := $args[1]; return customFunction($key1, $key2); } $e->addFunction("keyMatchCustom", customFunctionWrapper); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看