<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>

                ## 方案一、修改匹配規則 >[warning] 使用內置 正則 `regexMatch` 匹配模式 一般情況的接口訪問的CURD情況是需要建立4條規則,列如 ![](https://img.kancloud.cn/ed/14/ed14d1b52bfd93abba878d7b3f4fdd22_694x132.png) `tinywan` 用戶請求 `/api/user `接口的`CURD`操作需要數據庫的4條記錄。 >[danger] Q: 我們是否可以把上面的簡化為一條記錄呢?答案:可以的 >[success] 以上合并主要是考慮,有些接口匹配是不需要多條記錄的,而是只需要合并為一條記錄就可以了。 >[success] 例如:一個管理租戶(角色組)需要這個接口CURD所有接口權限或者說這個接口的CURD所有接口權限就是針對于某一個管理租戶特意開設的。就可以合并為一條規則了 >[warning] 內置模式正則 regexMatch 匹配模式語法 ``` regexMatch(r.act, p.act) ``` > 假設 r.act 是`GET`,并假設 p.act 是 `POST `和 `GET` > 以上表示` r.act ` 是否符合 `p.act` 的正則匹配 ![](https://img.kancloud.cn/56/2e/562ed074f3fde0fcd3088459e568e4f2_702x203.png) > SQL 語句 ``` INSERT INTO `casbin`.`casbin_rule`(`id`, `ptype`, `v0`, `v1`, `v2`, `v3`, `v4`, `v5`) VALUES (8, 'p', 'tinywan2', '/api/user', '(GET|POST|PUT|DELETE)', NULL, NULL, NULL); ``` 請求方式合并為一個 `(GET|POST|PUT|DELETE)` > 測試代碼 ![](https://img.kancloud.cn/f8/20/f8206f20904897488512f49c365421a3_663x187.png) ``` var_dump(Casbin::enforce('tinywan2', '/api/user', 'GET')); echo "<hr/>"; var_dump(Casbin::enforce('tinywan2', '/api/user', 'POST')); echo "<hr/>"; var_dump(Casbin::enforce('tinywan2', '/api/user', 'PUT')); echo "<hr/>"; var_dump(Casbin::enforce('tinywan2', '/api/user', 'DELETE')); ``` > 執行結果 ![](https://img.kancloud.cn/f8/ad/f8ad03068fc19f39034d0ed16ce74327_224x197.png) > casbin-basic-model.conf 配置文件 ``` [request_definition] r = sub, obj, act [policy_definition] p = sub, obj, act [policy_effect] e = some(where (p.eft == allow)) [matchers] m = r.sub == p.sub && keyMatch2(r.obj, p.obj) && regexMatch(r.act, p.act) ``` ## 方案二、自定義匹配函數 golang可以自動以,PHP待定 ## 其他 * [第1講:開張課、最簡單的例子](https://www.jtthink.com/course/play/2921) * [第2講:結合gin做基本驗證的例子(初步)](https://www.jtthink.com/course/play/2922) * [第3講:使用Gorm持久化權限策略(初步)](https://www.jtthink.com/course/play/2923) * [第4講:初始化權限數據:API調用、權限5張表](https://www.jtthink.com/course/play/2924) * [第5講:初始化權限(1):角色初始化](https://www.jtthink.com/course/play/2925) * [第6講:初始化權限(2):用戶和角色初始化](https://www.jtthink.com/course/play/2956) * [第7講:初始化權限(3):路由和角色初始化、uri參數支持](https://www.jtthink.com/course/play/2957) * [第8講:修改匹配規則:簡化策略數據](https://www.jtthink.com/course/play/2958) * [第9講:自定義匹配函數:簡化策略數據](https://www.jtthink.com/course/play/2959) * [第10講:租戶權限:基本配置和示例代碼](https://www.jtthink.com/course/play/2960) * [第11講:租戶權限:租戶基本權限表設計(6張表)](https://www.jtthink.com/course/play/2985) * [第12講:租戶權限:權限數據初始化、多租戶訪問方式](https://www.jtthink.com/course/play/2986) * [第13講:設置超級管理員的三種方法](https://www.jtthink.com/course/play/2987) * [第14講:策略生效范圍:角色特例權限的實現](https://www.jtthink.com/course/play/3016)
                  <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>

                              哎呀哎呀视频在线观看