You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@casbin.apache.org by gi...@apache.org on 2026/03/22 05:32:47 UTC
(casbin-website) 01/01: deploy: 6c4a74ee624d29eaf90c11989e1738643cc180bd
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/casbin-website.git
commit ac55f0ea1d38203ce0094d667432942037e35436
Author: hsluoyz <hs...@users.noreply.github.com>
AuthorDate: Sun Mar 22 05:32:34 2026 +0000
deploy: 6c4a74ee624d29eaf90c11989e1738643cc180bd
---
.asf.yaml | 39 +
.nojekyll | 0
404.html | 88 +
ar/.nojekyll | 0
ar/404.html | 88 +
ar/assets/css/styles.56e094d1.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
ar/assets/js/01a28382.04a03824.js | 1 +
ar/assets/js/01a85c17.dce7d51e.js | 1 +
ar/assets/js/020a3e51.3c398f57.js | 1 +
ar/assets/js/02cf54fd.3d6147db.js | 1 +
ar/assets/js/095721a4.b84c4b81.js | 1 +
ar/assets/js/0a4d46d6.2b5de234.js | 1 +
ar/assets/js/11aecb9f.c022f396.js | 1 +
ar/assets/js/11ecef33.43e86072.js | 1 +
ar/assets/js/12178d65.2f2e9933.js | 1 +
ar/assets/js/12d1e935.41383e62.js | 1 +
ar/assets/js/1443b71e.022417d0.js | 1 +
ar/assets/js/14eb3368.ee36e5dc.js | 1 +
ar/assets/js/17896441.1c55263e.js | 1 +
ar/assets/js/186863e3.7d21ff20.js | 1 +
ar/assets/js/1999c6aa.4cdda1ef.js | 1 +
ar/assets/js/1a4e3797.607f840a.js | 1 +
ar/assets/js/1e610ce4.f62527f1.js | 1 +
ar/assets/js/1fa70168.09b9e673.js | 1 +
ar/assets/js/1fe10a36.9ffdc728.js | 1 +
ar/assets/js/2140ee09.40e5e8ca.js | 1 +
ar/assets/js/2143.631f9abc.js | 1 +
ar/assets/js/21f53e20.64136991.js | 1 +
ar/assets/js/2237.4c917a91.js | 1 +
ar/assets/js/23dfaf11.3078b4e3.js | 1 +
ar/assets/js/2693.aae57f15.js | 2 +
ar/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
ar/assets/js/2868c295.bb0ea3d3.js | 1 +
ar/assets/js/28e50ba3.c616fd92.js | 1 +
ar/assets/js/290e0ee2.631bb0dc.js | 1 +
ar/assets/js/2ab4f9df.dc65e75e.js | 1 +
ar/assets/js/2acd5a91.133dade0.js | 1 +
ar/assets/js/2b557ca0.52b9a7f5.js | 1 +
ar/assets/js/2bf795a4.9feeecaa.js | 1 +
ar/assets/js/2ca6fd75.a0282605.js | 1 +
ar/assets/js/2f87f3db.8634d0c1.js | 1 +
ar/assets/js/3347.442b4917.js | 1 +
ar/assets/js/3362e121.70333acb.js | 1 +
ar/assets/js/350832d7.c83c60cd.js | 1 +
ar/assets/js/354802ad.c4440963.js | 1 +
ar/assets/js/36994c47.a0416590.js | 1 +
ar/assets/js/39048107.a87bb632.js | 1 +
ar/assets/js/3955.118925ae.js | 25 +
ar/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
ar/assets/js/40112638.aadef49d.js | 1 +
ar/assets/js/416.ffc71866.js | 1 +
ar/assets/js/479e8d90.593d14b2.js | 1 +
ar/assets/js/48dd827f.c67e9f7c.js | 1 +
ar/assets/js/497ae69d.cfc39873.js | 1 +
ar/assets/js/49a071da.c13bc004.js | 1 +
ar/assets/js/4e01ccb1.c0d77871.js | 1 +
ar/assets/js/505efd8b.111cf865.js | 1 +
ar/assets/js/59bd9601.da6d0a08.js | 1 +
ar/assets/js/5bbc4dc6.72de1fdd.js | 1 +
ar/assets/js/5be040cd.a902631e.js | 1 +
ar/assets/js/5e69bbd7.d70cf3b7.js | 1 +
ar/assets/js/5e95c892.4d39f66c.js | 1 +
ar/assets/js/5f876298.17c975b3.js | 1 +
ar/assets/js/60e3e668.8a377405.js | 1 +
ar/assets/js/61dd0dd4.3300b1ae.js | 1 +
ar/assets/js/621db11d.e8bb016f.js | 1 +
ar/assets/js/63988cf1.9a83b25e.js | 1 +
ar/assets/js/6475c62e.a271c7a3.js | 1 +
ar/assets/js/6875c492.1b5dc22a.js | 1 +
ar/assets/js/695a4e15.fd4f7ca1.js | 1 +
ar/assets/js/69fa1a4e.1a4a9c9d.js | 1 +
ar/assets/js/6b5fcc6a.2e282ef3.js | 1 +
ar/assets/js/6dd37c77.9428cbd3.js | 1 +
ar/assets/js/7290af4c.7d8e5d62.js | 1 +
ar/assets/js/7924d3b1.4faf4189.js | 1 +
ar/assets/js/7a586373.2589cf20.js | 1 +
ar/assets/js/7b9b5656.aa1cfdec.js | 1 +
ar/assets/js/7e37206e.68dee4e3.js | 1 +
ar/assets/js/814f3328.3aab7f53.js | 1 +
ar/assets/js/835f64a8.e4b885ca.js | 1 +
ar/assets/js/84a207a9.5aafac1a.js | 1 +
ar/assets/js/84ff14aa.440a79e4.js | 1 +
ar/assets/js/8551d23f.f5d225e6.js | 1 +
ar/assets/js/8913.dcb61d6c.js | 1 +
ar/assets/js/8b10390d.ee9a43a6.js | 1 +
ar/assets/js/8c3c7392.d0df9e34.js | 1 +
ar/assets/js/8ca654c9.ff3458a2.js | 1 +
ar/assets/js/9046baaf.d12e6548.js | 1 +
ar/assets/js/91064ad5.c26cff8b.js | 1 +
ar/assets/js/9785.a386bbff.js | 1 +
ar/assets/js/98fb14a9.7bf2adff.js | 1 +
ar/assets/js/9c039ed4.e89d5bff.js | 1 +
ar/assets/js/9c2aad74.c7aded98.js | 1 +
ar/assets/js/9cc1418b.789b7c8d.js | 1 +
ar/assets/js/9e4087bc.9269875d.js | 1 +
ar/assets/js/a509876c.34d90b3e.js | 1 +
ar/assets/js/a6aa9e1f.165a5b46.js | 1 +
ar/assets/js/a7456010.4ce1f9e1.js | 1 +
ar/assets/js/a7bd4aaa.fea2f11b.js | 1 +
ar/assets/js/a90f2cf1.9e9cf6ac.js | 1 +
ar/assets/js/a94703ab.c810baba.js | 1 +
ar/assets/js/aa959189.c78f7fc2.js | 1 +
ar/assets/js/ab865c86.0b14b4ef.js | 1 +
ar/assets/js/aba21aa0.8989bbd3.js | 1 +
ar/assets/js/acecf23e.b68ebf57.js | 1 +
ar/assets/js/af8caec0.eb4224ff.js | 1 +
ar/assets/js/af913d4d.b93183a2.js | 1 +
ar/assets/js/afaedef6.ef9f11bd.js | 1 +
ar/assets/js/b3f932d8.4408026f.js | 1 +
ar/assets/js/b7a339a4.8e3651cc.js | 1 +
ar/assets/js/bb4d6a1b.17f1b996.js | 1 +
ar/assets/js/c141421f.266bc054.js | 1 +
ar/assets/js/c4f5d8e4.d849bf54.js | 2 +
ar/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
ar/assets/js/c85e74ad.b64127ea.js | 1 +
ar/assets/js/c96268f7.8ec7b888.js | 1 +
ar/assets/js/c9f3b573.d7a5ed29.js | 1 +
ar/assets/js/ccc49370.dab9e754.js | 1 +
ar/assets/js/d06643f5.980e0f38.js | 1 +
ar/assets/js/d3e88014.7abbf07e.js | 1 +
ar/assets/js/d6fd7605.2319dde6.js | 1 +
ar/assets/js/d9f55b2f.590504e2.js | 1 +
ar/assets/js/dbb4e127.90169bcf.js | 1 +
ar/assets/js/dc31f97a.005890a6.js | 1 +
ar/assets/js/dc45fa50.ff9c85b7.js | 1 +
ar/assets/js/dcc8fbe7.85d78c97.js | 1 +
ar/assets/js/df5d8e92.68b42da2.js | 1 +
ar/assets/js/e3273b2d.091895f0.js | 1 +
ar/assets/js/e3ffa3f8.83fdaaec.js | 1 +
ar/assets/js/e6ea4abd.6095ad94.js | 1 +
ar/assets/js/e74a79a5.95553122.js | 1 +
ar/assets/js/e83ea4ff.44af472d.js | 1 +
ar/assets/js/ee69341d.51e48510.js | 1 +
ar/assets/js/f06a0bae.8b5ce312.js | 1 +
ar/assets/js/f158f49d.65af6810.js | 1 +
ar/assets/js/f1cea540.23be7f81.js | 1 +
ar/assets/js/f92bcd01.8113ac87.js | 1 +
ar/assets/js/fd9d9c89.20c03845.js | 1 +
ar/assets/js/main.13d7b016.js | 2 +
ar/assets/js/main.13d7b016.js.LICENSE.txt | 51 +
ar/assets/js/runtime~main.de043676.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
ar/blog/2018/08/27/node-casbin/index.html | 91 +
ar/blog/2018/09/23/new-website/index.html | 90 +
ar/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
ar/blog/archive/index.html | 88 +
ar/blog/atom.xml | 277 +++
ar/blog/authors/index.html | 88 +
ar/blog/casbin-2025-ai-agent-era/index.html | 123 ++
ar/blog/index.html | 90 +
ar/blog/rss.xml | 251 +++
ar/blog/tags/ai/index.html | 88 +
ar/blog/tags/casbin/index.html | 88 +
ar/blog/tags/edge-computing/index.html | 88 +
ar/blog/tags/index.html | 88 +
ar/blog/tags/llm/index.html | 88 +
ar/blog/tags/mcp/index.html | 88 +
ar/blog/tags/roadmap/index.html | 88 +
ar/casbin-editor/index.html | 29 +
ar/data/users.json | 170 ++
ar/docs/abac/index.html | 112 ++
ar/docs/adapters/index.html | 178 ++
ar/docs/admin-portal/index.html | 92 +
ar/docs/adopters/index.html | 92 +
ar/docs/api-overview/index.html | 154 ++
ar/docs/benchmark/index.html | 93 +
ar/docs/biba/index.html | 134 ++
ar/docs/blp/index.html | 123 ++
ar/docs/category/about--more/index.html | 88 +
ar/docs/category/access-control-models/index.html | 88 +
ar/docs/category/advanced-usage/index.html | 88 +
ar/docs/category/api/index.html | 88 +
ar/docs/category/basics/index.html | 88 +
ar/docs/category/editors--tools/index.html | 88 +
ar/docs/category/management/index.html | 88 +
ar/docs/category/storage/index.html | 88 +
ar/docs/category/use-cases/index.html | 88 +
ar/docs/cloud-native/index.html | 90 +
ar/docs/command-line-tools/index.html | 189 ++
ar/docs/contributing/index.html | 130 ++
ar/docs/data-permissions/index.html | 94 +
ar/docs/dispatchers/index.html | 95 +
ar/docs/effector/index.html | 103 +
ar/docs/enforcers/index.html | 91 +
ar/docs/envoy/index.html | 121 ++
ar/docs/frontend/index.html | 138 ++
ar/docs/function/index.html | 121 ++
ar/docs/get-started/index.html | 108 ++
ar/docs/graphql-middlewares/index.html | 92 +
ar/docs/how-it-works/index.html | 125 ++
ar/docs/ide-plugins/index.html | 97 +
ar/docs/k8s-gatekeeper/index.html | 290 +++
ar/docs/kong-authz/index.html | 157 ++
ar/docs/lbac/index.html | 124 ++
ar/docs/log-error/index.html | 119 ++
ar/docs/mac-overview/index.html | 109 ++
ar/docs/management-api/index.html | 383 ++++
ar/docs/menu-permissions/index.html | 128 ++
ar/docs/middlewares/index.html | 92 +
ar/docs/model-storage/index.html | 101 +
ar/docs/multi-threading/index.html | 89 +
ar/docs/online-editor/index.html | 109 ++
ar/docs/orbac/index.html | 121 ++
ar/docs/overview/index.html | 114 ++
ar/docs/pbac/index.html | 116 ++
ar/docs/performance/index.html | 102 +
ar/docs/plugins-overview/index.html | 105 +
ar/docs/policy-storage/index.html | 107 ++
ar/docs/policy-subset-loading/index.html | 92 +
ar/docs/priority-model/index.html | 118 ++
ar/docs/privacy-policy/index.html | 95 +
ar/docs/rbac-96/index.html | 99 +
ar/docs/rbac-api/index.html | 278 +++
ar/docs/rbac-overview/index.html | 104 +
ar/docs/rbac-with-conditions-api/index.html | 101 +
ar/docs/rbac-with-conditions/index.html | 112 ++
ar/docs/rbac-with-domains-api/index.html | 131 ++
ar/docs/rbac-with-domains/index.html | 103 +
ar/docs/rbac-with-pattern/index.html | 119 ++
ar/docs/rbac/index.html | 116 ++
ar/docs/rebac/index.html | 106 ++
ar/docs/role-managers/index.html | 91 +
ar/docs/rolemanager-api/index.html | 135 ++
ar/docs/service/index.html | 89 +
ar/docs/superadmin/index.html | 90 +
ar/docs/supported-models/index.html | 110 ++
ar/docs/syntax-for-models/index.html | 162 ++
ar/docs/terms-of-service/index.html | 110 ++
ar/docs/tutorials/index.html | 140 ++
ar/docs/ucon/index.html | 139 ++
ar/docs/watchers/index.html | 95 +
ar/ecosystem/index.html | 88 +
ar/editor/index.html | 88 +
ar/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
ar/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
ar/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
ar/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
ar/gallery/index.html | 88 +
ar/help/index.html | 88 +
ar/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
ar/img/background.png | Bin 0 -> 429128 bytes
ar/img/blog/model.png | Bin 0 -> 823392 bytes
ar/img/casbin.svg | 10 +
ar/img/casbin_min.svg | 9 +
ar/img/docusaurus.png | Bin 0 -> 5142 bytes
ar/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
ar/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
ar/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
ar/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
ar/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
ar/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
ar/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
ar/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
ar/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
ar/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
ar/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
ar/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
ar/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
ar/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
ar/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
ar/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
ar/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
ar/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
ar/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
ar/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
ar/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
ar/img/ecosystem/django.png | Bin 0 -> 3266 bytes
ar/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
ar/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
ar/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
ar/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
ar/img/ecosystem/express.png | Bin 0 -> 2942 bytes
ar/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
ar/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
ar/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
ar/img/ecosystem/file.png | Bin 0 -> 2099 bytes
ar/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
ar/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
ar/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
ar/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
ar/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
ar/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
ar/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
ar/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
ar/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
ar/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
ar/img/ecosystem/http.png | Bin 0 -> 2071 bytes
ar/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
ar/img/ecosystem/json.png | Bin 0 -> 2396 bytes
ar/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
ar/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
ar/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
ar/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
ar/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
ar/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
ar/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
ar/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
ar/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
ar/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
ar/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
ar/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
ar/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
ar/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
ar/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
ar/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
ar/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
ar/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
ar/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
ar/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
ar/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
ar/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
ar/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
ar/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
ar/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
ar/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
ar/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
ar/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
ar/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
ar/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
ar/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
ar/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
ar/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
ar/img/ecosystem/session.png | Bin 0 -> 3129 bytes
ar/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
ar/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
ar/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
ar/img/ecosystem/string.png | Bin 0 -> 5368 bytes
ar/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
ar/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
ar/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
ar/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
ar/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
ar/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
ar/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
ar/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
ar/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
ar/img/editor-ai.png | Bin 0 -> 271698 bytes
ar/img/editor-endpoint.png | Bin 0 -> 57531 bytes
ar/img/editor-engine.png | Bin 0 -> 105638 bytes
ar/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
ar/img/editor-tips.png | Bin 0 -> 12133 bytes
ar/img/editor-upload.png | Bin 0 -> 36050 bytes
ar/img/favicon.ico | Bin 0 -> 3626 bytes
ar/img/favicon.png | Bin 0 -> 10527 bytes
ar/img/github.png | Bin 0 -> 23729 bytes
ar/img/langs/cpp.png | Bin 0 -> 21992 bytes
ar/img/langs/delphi.png | Bin 0 -> 30246 bytes
ar/img/langs/dotnet.png | Bin 0 -> 41524 bytes
ar/img/langs/golang.png | Bin 0 -> 54614 bytes
ar/img/langs/java.png | Bin 0 -> 16040 bytes
ar/img/langs/nodejs.png | Bin 0 -> 27603 bytes
ar/img/langs/php.png | Bin 0 -> 42168 bytes
ar/img/langs/python.png | Bin 0 -> 20755 bytes
ar/img/langs/rust.png | Bin 0 -> 8291 bytes
ar/img/language-dark.png | Bin 0 -> 30816 bytes
ar/img/language.png | Bin 0 -> 50757 bytes
ar/img/language.svg | 710 +++++++
ar/img/logo.svg | 1 +
ar/img/model-dark.png | Bin 0 -> 21754 bytes
ar/img/model.png | Bin 0 -> 8670 bytes
ar/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
ar/img/role.png | Bin 0 -> 78158 bytes
ar/img/scale.png | Bin 0 -> 16385 bytes
ar/img/storage-dark.png | Bin 0 -> 19568 bytes
ar/img/storage.png | Bin 0 -> 26864 bytes
ar/img/storage.svg | 477 +++++
ar/img/store.png | Bin 0 -> 35459 bytes
ar/img/store.svg | 2005 ++++++++++++++++++++
ar/img/tutorial/acl.png | Bin 0 -> 633359 bytes
ar/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
ar/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
ar/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
ar/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
ar/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
ar/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
ar/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
ar/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
ar/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
ar/img/undraw_docusaurus_mountain.svg | 170 ++
ar/img/undraw_docusaurus_react.svg | 169 ++
ar/img/undraw_docusaurus_tree.svg | 1 +
ar/img/users/360.png | Bin 0 -> 15651 bytes
ar/img/users/alibaba.png | Bin 0 -> 160461 bytes
ar/img/users/bose.png | Bin 0 -> 3360 bytes
ar/img/users/bytebase.png | Bin 0 -> 11023 bytes
ar/img/users/cisco.png | Bin 0 -> 10262 bytes
ar/img/users/docker.png | Bin 0 -> 6192 bytes
ar/img/users/elastic.png | Bin 0 -> 42387 bytes
ar/img/users/eth.png | Bin 0 -> 46321 bytes
ar/img/users/f5.png | Bin 0 -> 49662 bytes
ar/img/users/honeywell.png | Bin 0 -> 57802 bytes
ar/img/users/hpe.png | Bin 0 -> 32136 bytes
ar/img/users/ibm.png | Bin 0 -> 24323 bytes
ar/img/users/intel.png | Bin 0 -> 17619 bytes
ar/img/users/jdlt.png | Bin 0 -> 13501 bytes
ar/img/users/microsoft.png | Bin 0 -> 13325 bytes
ar/img/users/musma.png | Bin 0 -> 9343 bytes
ar/img/users/ontario.png | Bin 0 -> 38267 bytes
ar/img/users/orange.png | Bin 0 -> 5217 bytes
ar/img/users/pulsar.png | Bin 0 -> 8905 bytes
ar/img/users/redhat.png | Bin 0 -> 33950 bytes
ar/img/users/rspacex.png | Bin 0 -> 52166 bytes
ar/img/users/se.png | Bin 0 -> 2963 bytes
ar/img/users/siemens.png | Bin 0 -> 5285 bytes
ar/img/users/t-mobile.png | Bin 0 -> 74117 bytes
ar/img/users/tencent.png | Bin 0 -> 10932 bytes
ar/img/users/verizon.png | Bin 0 -> 22526 bytes
ar/img/users/vmware.png | Bin 0 -> 10251 bytes
ar/img/users/zilliz.png | Bin 0 -> 7611 bytes
ar/index.html | 88 +
ar/js/clarity.js | 5 +
ar/js/hotjar.js | 12 +
ar/js/probe.js | 1 +
ar/js/tawk.js | 9 +
ar/opensearch.xml | 11 +
ar/robots.txt | 2 +
ar/search/index.html | 88 +
ar/sitemap.xml | 1 +
ar/users/index.html | 88 +
assets/css/styles.0576a95c.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
assets/js/0058b4c6.f3155fd3.js | 1 +
assets/js/01a85c17.dce7d51e.js | 1 +
assets/js/05ee026f.00588e3c.js | 1 +
assets/js/076cfa4f.a73a8b1f.js | 1 +
assets/js/0ac1ed2c.7b62ee21.js | 1 +
assets/js/12c29af3.08b3e6d0.js | 1 +
assets/js/14eb3368.ee36e5dc.js | 1 +
assets/js/1663fbff.6f8337db.js | 1 +
assets/js/17896441.1c55263e.js | 1 +
assets/js/186863e3.7d21ff20.js | 1 +
assets/js/191e63d0.ff9eb13b.js | 1 +
assets/js/1986f62f.0683cb3c.js | 1 +
assets/js/1a4e3797.607f840a.js | 1 +
assets/js/1cdb205f.7d0341bb.js | 1 +
assets/js/208682d0.7fa9ecea.js | 1 +
assets/js/2143.631f9abc.js | 1 +
assets/js/2237.4c917a91.js | 1 +
assets/js/23f02342.0120019a.js | 1 +
assets/js/265fc880.f9fbe66b.js | 1 +
assets/js/2693.aae57f15.js | 2 +
assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
assets/js/2b133bbf.c9b6f534.js | 1 +
assets/js/2fdd736c.7cea33c9.js | 1 +
assets/js/2ff779d4.b99cf495.js | 1 +
assets/js/3347.442b4917.js | 1 +
assets/js/3362e121.70333acb.js | 1 +
assets/js/36994c47.a0416590.js | 1 +
assets/js/37bfd773.16393e25.js | 1 +
assets/js/3955.118925ae.js | 25 +
assets/js/3955.118925ae.js.LICENSE.txt | 17 +
assets/js/39747398.243610a4.js | 1 +
assets/js/3a2db09e.8be2e4f2.js | 1 +
assets/js/3bac3e7a.9428beea.js | 1 +
assets/js/3d299bc8.226bb360.js | 1 +
assets/js/3d9b3fbc.b803caee.js | 1 +
assets/js/416.ffc71866.js | 1 +
assets/js/4305e84d.3a5b161f.js | 1 +
assets/js/4849e6e0.12c3e34e.js | 1 +
assets/js/486aeea2.6e3f990e.js | 1 +
assets/js/4d70c299.f39b63bb.js | 1 +
assets/js/4f4020c0.e40dbe40.js | 1 +
assets/js/51affc71.06c2751e.js | 1 +
assets/js/53aac5c5.1d2ff80f.js | 1 +
assets/js/566b0707.fa568b88.js | 1 +
assets/js/5847da89.e284a025.js | 1 +
assets/js/5b801a7b.037f4300.js | 1 +
assets/js/5e95c892.4d39f66c.js | 1 +
assets/js/5fbab484.98c391c4.js | 1 +
assets/js/621db11d.e8bb016f.js | 1 +
assets/js/62905396.9a152b49.js | 1 +
assets/js/62cf0dd3.5e08dfcb.js | 1 +
assets/js/6370319b.29dc9eda.js | 1 +
assets/js/6562be33.61d5592c.js | 1 +
assets/js/65a6d713.43b6ea9b.js | 1 +
assets/js/6600ec84.aca11cea.js | 1 +
assets/js/6875c492.1b5dc22a.js | 1 +
assets/js/6959145b.b16a1a65.js | 1 +
assets/js/6b9e5055.86ecbbba.js | 1 +
assets/js/703f2409.b24e1fd3.js | 1 +
assets/js/704379e0.ee8a8ece.js | 1 +
assets/js/76a2043f.09efd40f.js | 1 +
assets/js/7bbe82fd.b76220ef.js | 1 +
assets/js/7e37206e.68dee4e3.js | 1 +
assets/js/7f9d7669.fad9327a.js | 1 +
assets/js/7fedb4ba.89974c9c.js | 1 +
assets/js/81423a9b.e731c9bb.js | 1 +
assets/js/814f3328.4b29cdf8.js | 1 +
assets/js/84b7f88d.23b951b3.js | 1 +
assets/js/8785bcb8.97837097.js | 1 +
assets/js/8913.dcb61d6c.js | 1 +
assets/js/898cedfe.94f31744.js | 1 +
assets/js/8ad75431.b9b36fd7.js | 1 +
assets/js/8ecf1a3f.99ed50c8.js | 1 +
assets/js/8ee7560f.a5388d3e.js | 1 +
assets/js/91a0b0a3.6d5651e1.js | 1 +
assets/js/91ed1e89.705e4daf.js | 1 +
assets/js/92ad251f.2f59a1bc.js | 1 +
assets/js/92fb1dcd.0caeccbb.js | 1 +
assets/js/9785.a386bbff.js | 1 +
assets/js/97db9056.7f47a8f3.js | 1 +
assets/js/99dffc6d.fae80a78.js | 1 +
assets/js/9e4087bc.9269875d.js | 1 +
assets/js/9fcb2382.a5ddbba4.js | 1 +
assets/js/a151dc44.c3d392bf.js | 1 +
assets/js/a2b68eda.deb1b957.js | 1 +
assets/js/a53d54cc.a09bed4e.js | 1 +
assets/js/a6aa9e1f.165a5b46.js | 1 +
assets/js/a7456010.4ce1f9e1.js | 1 +
assets/js/a7bd4aaa.fea2f11b.js | 1 +
assets/js/a8534a47.adefbfe0.js | 1 +
assets/js/a9467bfc.f0179d17.js | 1 +
assets/js/a94703ab.c810baba.js | 1 +
assets/js/aa21db48.60aaec73.js | 1 +
assets/js/aba21aa0.8989bbd3.js | 1 +
assets/js/acecf23e.f78a6c76.js | 1 +
assets/js/af913d4d.d92ff231.js | 1 +
assets/js/b3f6a78b.bc824b71.js | 1 +
assets/js/b420ec86.c54b14ad.js | 1 +
assets/js/b453eba6.8e305dab.js | 1 +
assets/js/b53fe07a.2730b18c.js | 1 +
assets/js/c1067534.49466267.js | 1 +
assets/js/c141421f.266bc054.js | 1 +
assets/js/c15d9823.7c464be6.js | 1 +
assets/js/c37e697d.d2fb80cc.js | 1 +
assets/js/c4f5d8e4.d849bf54.js | 2 +
assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
assets/js/ccc49370.dab9e754.js | 1 +
assets/js/d274ac3e.a1d3bddc.js | 1 +
assets/js/d35569c7.a5d690bb.js | 1 +
assets/js/d41877a5.9a56ba29.js | 1 +
assets/js/d4dfe46c.2d4862a6.js | 1 +
assets/js/d6b96565.78143746.js | 1 +
assets/js/d7738777.a84eefc2.js | 1 +
assets/js/d9a4a572.54c32bfd.js | 1 +
assets/js/ddd102ed.415add15.js | 1 +
assets/js/de405acf.131155ee.js | 1 +
assets/js/de82e5c3.ab739ecc.js | 1 +
assets/js/e05dc80f.9a437baa.js | 1 +
assets/js/e293a481.1ea3dd7c.js | 1 +
assets/js/e6a612d1.e88097c4.js | 1 +
assets/js/e74a79a5.95553122.js | 1 +
assets/js/e8d0a67c.a3202f73.js | 1 +
assets/js/ed77f691.b2bba64c.js | 1 +
assets/js/ef8376ad.0fcf8254.js | 1 +
assets/js/ef8b811a.18d2631a.js | 1 +
assets/js/f2a5a8a9.e4f5e3a7.js | 1 +
assets/js/f54213be.7a5e0534.js | 1 +
assets/js/f81c1134.8f3a6ce7.js | 1 +
assets/js/f8ac0cd0.4dfd1918.js | 1 +
assets/js/fb2ccfa2.cad51a9f.js | 1 +
assets/js/fcab9978.5f17ae83.js | 1 +
assets/js/fd9d9c89.1b90b4d4.js | 1 +
assets/js/main.4d5efb5b.js | 2 +
assets/js/main.4d5efb5b.js.LICENSE.txt | 51 +
assets/js/runtime~main.1793b509.js | 1 +
blog/2018/08/07/launching-casbin-server/index.html | 97 +
blog/2018/08/27/node-casbin/index.html | 91 +
blog/2018/09/23/new-website/index.html | 90 +
blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
blog/archive/index.html | 88 +
blog/atom.xml | 277 +++
blog/authors/index.html | 88 +
blog/casbin-2025-ai-agent-era/index.html | 123 ++
blog/index.html | 90 +
blog/rss.xml | 251 +++
blog/tags/ai/index.html | 88 +
blog/tags/casbin/index.html | 88 +
blog/tags/edge-computing/index.html | 88 +
blog/tags/index.html | 88 +
blog/tags/llm/index.html | 88 +
blog/tags/mcp/index.html | 88 +
blog/tags/roadmap/index.html | 88 +
casbin-editor/index.html | 29 +
data/users.json | 170 ++
de/.nojekyll | 0
de/404.html | 88 +
de/assets/css/styles.1fa0080e.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
de/assets/js/01a85c17.dce7d51e.js | 1 +
de/assets/js/0471ba61.beb514a2.js | 1 +
de/assets/js/05d8715f.e5433236.js | 1 +
de/assets/js/06de8bef.c388f941.js | 1 +
de/assets/js/080d366d.c72146f3.js | 1 +
de/assets/js/08ccd46a.b26b3e4e.js | 1 +
de/assets/js/09cbbf07.81d0552c.js | 1 +
de/assets/js/0f9b280d.10881cc9.js | 1 +
de/assets/js/140d0830.7a01d82b.js | 1 +
de/assets/js/1453f5cb.8f3ba213.js | 1 +
de/assets/js/14be1a1b.3fdbea46.js | 1 +
de/assets/js/14eb3368.ee36e5dc.js | 1 +
de/assets/js/15da32fc.132fea80.js | 1 +
de/assets/js/17444631.5492f216.js | 1 +
de/assets/js/17896441.1c55263e.js | 1 +
de/assets/js/186863e3.7d21ff20.js | 1 +
de/assets/js/1a4e3797.607f840a.js | 1 +
de/assets/js/1aab48f8.f6effbdf.js | 1 +
de/assets/js/1aca3e6b.fafab137.js | 1 +
de/assets/js/1be39cf5.0cfb0292.js | 1 +
de/assets/js/2143.631f9abc.js | 1 +
de/assets/js/21b6dd45.b8e53f26.js | 1 +
de/assets/js/2237.4c917a91.js | 1 +
de/assets/js/23ab6652.528a1cf8.js | 1 +
de/assets/js/26480c24.82b89c0c.js | 1 +
de/assets/js/2693.aae57f15.js | 2 +
de/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
de/assets/js/3347.442b4917.js | 1 +
de/assets/js/3362e121.70333acb.js | 1 +
de/assets/js/353d2447.d8a61629.js | 1 +
de/assets/js/36994c47.a0416590.js | 1 +
de/assets/js/3955.118925ae.js | 25 +
de/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
de/assets/js/3963a044.2c9dcd97.js | 1 +
de/assets/js/39f4093a.bfced6b5.js | 1 +
de/assets/js/3ac4cbcf.09a1f06d.js | 1 +
de/assets/js/3b8f7d32.1ce257b9.js | 1 +
de/assets/js/416.ffc71866.js | 1 +
de/assets/js/42957a90.884f634e.js | 1 +
de/assets/js/47d296e4.3edee6bd.js | 1 +
de/assets/js/4804b2bb.2ba45bb5.js | 1 +
de/assets/js/4a67e47f.3715aa0e.js | 1 +
de/assets/js/4b5736d4.d6229b3d.js | 1 +
de/assets/js/4de9ab98.64d905fb.js | 1 +
de/assets/js/4eb82ddd.66c65a85.js | 1 +
de/assets/js/50f1cd1d.737ccc3e.js | 1 +
de/assets/js/545842e1.df4b99b5.js | 1 +
de/assets/js/56455fe9.4e172b67.js | 1 +
de/assets/js/57496faf.45cafadb.js | 1 +
de/assets/js/5b3ceda2.26c532d2.js | 1 +
de/assets/js/5b8de845.dd496237.js | 1 +
de/assets/js/5b92a509.df67d6b4.js | 1 +
de/assets/js/5d60782d.a1f409f9.js | 1 +
de/assets/js/5e95c892.4d39f66c.js | 1 +
de/assets/js/5f1f7f25.3c0fea8c.js | 1 +
de/assets/js/621db11d.e8bb016f.js | 1 +
de/assets/js/63ace465.699a8e3b.js | 1 +
de/assets/js/6875c492.1b5dc22a.js | 1 +
de/assets/js/690e2744.bc92ab3f.js | 1 +
de/assets/js/6bc4ea5b.019dc08b.js | 1 +
de/assets/js/70f10ab8.230649db.js | 1 +
de/assets/js/73e465a9.993ee1ec.js | 1 +
de/assets/js/744e4cde.ee997bc8.js | 1 +
de/assets/js/74e314cd.1ccb2a50.js | 1 +
de/assets/js/7ba24c98.9c27738e.js | 1 +
de/assets/js/7e37206e.68dee4e3.js | 1 +
de/assets/js/814f3328.3e996ab2.js | 1 +
de/assets/js/81f35412.cbbba9df.js | 1 +
de/assets/js/8288b9d1.0b4217c7.js | 1 +
de/assets/js/8297b679.4fb08122.js | 1 +
de/assets/js/855a4804.60455c5f.js | 1 +
de/assets/js/8913.dcb61d6c.js | 1 +
de/assets/js/8aace08f.fa2c5992.js | 1 +
de/assets/js/8c1584a5.7f6bd041.js | 1 +
de/assets/js/923f6e88.b004843a.js | 1 +
de/assets/js/93b76abe.20480e2a.js | 1 +
de/assets/js/9785.a386bbff.js | 1 +
de/assets/js/9aa95373.da513559.js | 1 +
de/assets/js/9d3f57e4.733602e2.js | 1 +
de/assets/js/9e4087bc.9269875d.js | 1 +
de/assets/js/a3279dde.43ad5cb4.js | 1 +
de/assets/js/a41ecfeb.6162fc1b.js | 1 +
de/assets/js/a6723068.45c4e102.js | 1 +
de/assets/js/a6aa9e1f.165a5b46.js | 1 +
de/assets/js/a7456010.4ce1f9e1.js | 1 +
de/assets/js/a749fde3.a9f8066c.js | 1 +
de/assets/js/a7bd4aaa.fea2f11b.js | 1 +
de/assets/js/a92d168e.37e39106.js | 1 +
de/assets/js/a94703ab.c810baba.js | 1 +
de/assets/js/aa90c9d1.b10034a4.js | 1 +
de/assets/js/aba21aa0.8989bbd3.js | 1 +
de/assets/js/acecf23e.1dadfef0.js | 1 +
de/assets/js/aeb808d2.606f93ed.js | 1 +
de/assets/js/af913d4d.b93183a2.js | 1 +
de/assets/js/b1e33972.2b90736e.js | 1 +
de/assets/js/b28819a4.4deaaff8.js | 1 +
de/assets/js/b3d371db.d326d8d7.js | 1 +
de/assets/js/bc12e275.63dbe2bd.js | 1 +
de/assets/js/c141421f.266bc054.js | 1 +
de/assets/js/c2bd7532.f94602ca.js | 1 +
de/assets/js/c4f5d8e4.d849bf54.js | 2 +
de/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
de/assets/js/c6d26db8.fe85c3d9.js | 1 +
de/assets/js/c7c8288d.3fa51615.js | 1 +
de/assets/js/caec6fa2.a206f2ee.js | 1 +
de/assets/js/cc84a693.64599598.js | 1 +
de/assets/js/cc9191c7.48596298.js | 1 +
de/assets/js/ccc49370.dab9e754.js | 1 +
de/assets/js/cd523b67.d641109b.js | 1 +
de/assets/js/d1c2782a.cdfec7cf.js | 1 +
de/assets/js/df82a130.7cf2faaa.js | 1 +
de/assets/js/e1d3d53e.a3af6707.js | 1 +
de/assets/js/e3e698da.67f39f79.js | 1 +
de/assets/js/e57f36bd.6d3400cd.js | 1 +
de/assets/js/e74a79a5.95553122.js | 1 +
de/assets/js/e7bcb3b3.492bda14.js | 1 +
de/assets/js/e86d68ac.75a5927e.js | 1 +
de/assets/js/e8bc200f.94c0744e.js | 1 +
de/assets/js/ea14cdf7.680d6c18.js | 1 +
de/assets/js/ebea85a9.a93cbb4c.js | 1 +
de/assets/js/ec44b22d.4709977f.js | 1 +
de/assets/js/ed78c436.e21caca9.js | 1 +
de/assets/js/f00c47df.e0f107d0.js | 1 +
de/assets/js/f2bc2e4f.ae7214ba.js | 1 +
de/assets/js/f33ee240.a5fc889d.js | 1 +
de/assets/js/f82b74f4.3e0d19b1.js | 1 +
de/assets/js/fa3273c3.2fbe8ee2.js | 1 +
de/assets/js/fadb786b.34887899.js | 1 +
de/assets/js/fbef51dc.317f0c70.js | 1 +
de/assets/js/fbf2fce6.7dbc8f7b.js | 1 +
de/assets/js/fc28b6f1.70a6c1f5.js | 1 +
de/assets/js/fd9d9c89.1b90b4d4.js | 1 +
de/assets/js/main.9528647a.js | 2 +
de/assets/js/main.9528647a.js.LICENSE.txt | 51 +
de/assets/js/runtime~main.a361efdf.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
de/blog/2018/08/27/node-casbin/index.html | 91 +
de/blog/2018/09/23/new-website/index.html | 90 +
de/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
de/blog/archive/index.html | 88 +
de/blog/atom.xml | 277 +++
de/blog/authors/index.html | 88 +
de/blog/casbin-2025-ai-agent-era/index.html | 123 ++
de/blog/index.html | 90 +
de/blog/rss.xml | 251 +++
de/blog/tags/ai/index.html | 88 +
de/blog/tags/casbin/index.html | 88 +
de/blog/tags/edge-computing/index.html | 88 +
de/blog/tags/index.html | 88 +
de/blog/tags/llm/index.html | 88 +
de/blog/tags/mcp/index.html | 88 +
de/blog/tags/roadmap/index.html | 88 +
de/casbin-editor/index.html | 29 +
de/data/users.json | 170 ++
de/docs/abac/index.html | 112 ++
de/docs/adapters/index.html | 182 ++
de/docs/admin-portal/index.html | 92 +
de/docs/adopters/index.html | 92 +
de/docs/api-overview/index.html | 154 ++
de/docs/benchmark/index.html | 93 +
de/docs/biba/index.html | 134 ++
de/docs/blp/index.html | 123 ++
de/docs/category/about--more/index.html | 88 +
de/docs/category/access-control-models/index.html | 88 +
de/docs/category/advanced-usage/index.html | 88 +
de/docs/category/api/index.html | 88 +
de/docs/category/basics/index.html | 88 +
de/docs/category/editors--tools/index.html | 88 +
de/docs/category/management/index.html | 88 +
de/docs/category/storage/index.html | 88 +
de/docs/category/use-cases/index.html | 88 +
de/docs/cloud-native/index.html | 90 +
de/docs/command-line-tools/index.html | 189 ++
de/docs/contributing/index.html | 130 ++
de/docs/data-permissions/index.html | 94 +
de/docs/dispatchers/index.html | 95 +
de/docs/effector/index.html | 103 +
de/docs/enforcers/index.html | 91 +
de/docs/envoy/index.html | 121 ++
de/docs/frontend/index.html | 138 ++
de/docs/function/index.html | 121 ++
de/docs/get-started/index.html | 108 ++
de/docs/graphql-middlewares/index.html | 92 +
de/docs/how-it-works/index.html | 125 ++
de/docs/ide-plugins/index.html | 97 +
de/docs/k8s-gatekeeper/index.html | 290 +++
de/docs/kong-authz/index.html | 157 ++
de/docs/lbac/index.html | 124 ++
de/docs/log-error/index.html | 119 ++
de/docs/mac-overview/index.html | 109 ++
de/docs/management-api/index.html | 383 ++++
de/docs/menu-permissions/index.html | 128 ++
de/docs/middlewares/index.html | 92 +
de/docs/model-storage/index.html | 101 +
de/docs/multi-threading/index.html | 89 +
de/docs/online-editor/index.html | 109 ++
de/docs/orbac/index.html | 121 ++
de/docs/overview/index.html | 114 ++
de/docs/pbac/index.html | 116 ++
de/docs/performance/index.html | 102 +
de/docs/plugins-overview/index.html | 105 +
de/docs/policy-storage/index.html | 107 ++
de/docs/policy-subset-loading/index.html | 92 +
de/docs/priority-model/index.html | 118 ++
de/docs/privacy-policy/index.html | 95 +
de/docs/rbac-96/index.html | 99 +
de/docs/rbac-api/index.html | 278 +++
de/docs/rbac-overview/index.html | 104 +
de/docs/rbac-with-conditions-api/index.html | 101 +
de/docs/rbac-with-conditions/index.html | 112 ++
de/docs/rbac-with-domains-api/index.html | 131 ++
de/docs/rbac-with-domains/index.html | 103 +
de/docs/rbac-with-pattern/index.html | 119 ++
de/docs/rbac/index.html | 116 ++
de/docs/rebac/index.html | 106 ++
de/docs/role-managers/index.html | 91 +
de/docs/rolemanager-api/index.html | 135 ++
de/docs/service/index.html | 89 +
de/docs/superadmin/index.html | 90 +
de/docs/supported-models/index.html | 110 ++
de/docs/syntax-for-models/index.html | 162 ++
de/docs/terms-of-service/index.html | 110 ++
de/docs/tutorials/index.html | 140 ++
de/docs/ucon/index.html | 139 ++
de/docs/watchers/index.html | 95 +
de/ecosystem/index.html | 88 +
de/editor/index.html | 88 +
de/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
de/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
de/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
de/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
de/gallery/index.html | 88 +
de/help/index.html | 88 +
de/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
de/img/background.png | Bin 0 -> 429128 bytes
de/img/blog/model.png | Bin 0 -> 823392 bytes
de/img/casbin.svg | 10 +
de/img/casbin_min.svg | 9 +
de/img/docusaurus.png | Bin 0 -> 5142 bytes
de/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
de/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
de/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
de/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
de/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
de/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
de/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
de/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
de/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
de/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
de/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
de/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
de/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
de/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
de/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
de/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
de/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
de/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
de/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
de/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
de/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
de/img/ecosystem/django.png | Bin 0 -> 3266 bytes
de/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
de/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
de/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
de/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
de/img/ecosystem/express.png | Bin 0 -> 2942 bytes
de/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
de/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
de/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
de/img/ecosystem/file.png | Bin 0 -> 2099 bytes
de/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
de/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
de/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
de/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
de/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
de/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
de/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
de/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
de/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
de/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
de/img/ecosystem/http.png | Bin 0 -> 2071 bytes
de/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
de/img/ecosystem/json.png | Bin 0 -> 2396 bytes
de/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
de/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
de/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
de/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
de/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
de/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
de/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
de/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
de/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
de/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
de/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
de/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
de/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
de/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
de/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
de/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
de/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
de/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
de/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
de/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
de/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
de/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
de/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
de/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
de/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
de/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
de/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
de/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
de/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
de/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
de/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
de/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
de/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
de/img/ecosystem/session.png | Bin 0 -> 3129 bytes
de/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
de/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
de/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
de/img/ecosystem/string.png | Bin 0 -> 5368 bytes
de/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
de/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
de/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
de/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
de/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
de/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
de/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
de/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
de/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
de/img/editor-ai.png | Bin 0 -> 271698 bytes
de/img/editor-endpoint.png | Bin 0 -> 57531 bytes
de/img/editor-engine.png | Bin 0 -> 105638 bytes
de/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
de/img/editor-tips.png | Bin 0 -> 12133 bytes
de/img/editor-upload.png | Bin 0 -> 36050 bytes
de/img/favicon.ico | Bin 0 -> 3626 bytes
de/img/favicon.png | Bin 0 -> 10527 bytes
de/img/github.png | Bin 0 -> 23729 bytes
de/img/langs/cpp.png | Bin 0 -> 21992 bytes
de/img/langs/delphi.png | Bin 0 -> 30246 bytes
de/img/langs/dotnet.png | Bin 0 -> 41524 bytes
de/img/langs/golang.png | Bin 0 -> 54614 bytes
de/img/langs/java.png | Bin 0 -> 16040 bytes
de/img/langs/nodejs.png | Bin 0 -> 27603 bytes
de/img/langs/php.png | Bin 0 -> 42168 bytes
de/img/langs/python.png | Bin 0 -> 20755 bytes
de/img/langs/rust.png | Bin 0 -> 8291 bytes
de/img/language-dark.png | Bin 0 -> 30816 bytes
de/img/language.png | Bin 0 -> 50757 bytes
de/img/language.svg | 710 +++++++
de/img/logo.svg | 1 +
de/img/model-dark.png | Bin 0 -> 21754 bytes
de/img/model.png | Bin 0 -> 8670 bytes
de/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
de/img/role.png | Bin 0 -> 78158 bytes
de/img/scale.png | Bin 0 -> 16385 bytes
de/img/storage-dark.png | Bin 0 -> 19568 bytes
de/img/storage.png | Bin 0 -> 26864 bytes
de/img/storage.svg | 477 +++++
de/img/store.png | Bin 0 -> 35459 bytes
de/img/store.svg | 2005 ++++++++++++++++++++
de/img/tutorial/acl.png | Bin 0 -> 633359 bytes
de/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
de/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
de/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
de/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
de/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
de/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
de/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
de/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
de/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
de/img/undraw_docusaurus_mountain.svg | 170 ++
de/img/undraw_docusaurus_react.svg | 169 ++
de/img/undraw_docusaurus_tree.svg | 1 +
de/img/users/360.png | Bin 0 -> 15651 bytes
de/img/users/alibaba.png | Bin 0 -> 160461 bytes
de/img/users/bose.png | Bin 0 -> 3360 bytes
de/img/users/bytebase.png | Bin 0 -> 11023 bytes
de/img/users/cisco.png | Bin 0 -> 10262 bytes
de/img/users/docker.png | Bin 0 -> 6192 bytes
de/img/users/elastic.png | Bin 0 -> 42387 bytes
de/img/users/eth.png | Bin 0 -> 46321 bytes
de/img/users/f5.png | Bin 0 -> 49662 bytes
de/img/users/honeywell.png | Bin 0 -> 57802 bytes
de/img/users/hpe.png | Bin 0 -> 32136 bytes
de/img/users/ibm.png | Bin 0 -> 24323 bytes
de/img/users/intel.png | Bin 0 -> 17619 bytes
de/img/users/jdlt.png | Bin 0 -> 13501 bytes
de/img/users/microsoft.png | Bin 0 -> 13325 bytes
de/img/users/musma.png | Bin 0 -> 9343 bytes
de/img/users/ontario.png | Bin 0 -> 38267 bytes
de/img/users/orange.png | Bin 0 -> 5217 bytes
de/img/users/pulsar.png | Bin 0 -> 8905 bytes
de/img/users/redhat.png | Bin 0 -> 33950 bytes
de/img/users/rspacex.png | Bin 0 -> 52166 bytes
de/img/users/se.png | Bin 0 -> 2963 bytes
de/img/users/siemens.png | Bin 0 -> 5285 bytes
de/img/users/t-mobile.png | Bin 0 -> 74117 bytes
de/img/users/tencent.png | Bin 0 -> 10932 bytes
de/img/users/verizon.png | Bin 0 -> 22526 bytes
de/img/users/vmware.png | Bin 0 -> 10251 bytes
de/img/users/zilliz.png | Bin 0 -> 7611 bytes
de/index.html | 88 +
de/js/clarity.js | 5 +
de/js/hotjar.js | 12 +
de/js/probe.js | 1 +
de/js/tawk.js | 9 +
de/opensearch.xml | 11 +
de/robots.txt | 2 +
de/search/index.html | 88 +
de/sitemap.xml | 1 +
de/users/index.html | 88 +
docs/abac/index.html | 112 ++
docs/adapters/index.html | 178 ++
docs/admin-portal/index.html | 92 +
docs/adopters/index.html | 92 +
docs/api-overview/index.html | 154 ++
docs/benchmark/index.html | 93 +
docs/biba/index.html | 134 ++
docs/blp/index.html | 123 ++
docs/category/about--more/index.html | 88 +
docs/category/access-control-models/index.html | 88 +
docs/category/advanced-usage/index.html | 88 +
docs/category/api/index.html | 88 +
docs/category/basics/index.html | 88 +
docs/category/editors--tools/index.html | 88 +
docs/category/management/index.html | 88 +
docs/category/storage/index.html | 88 +
docs/category/use-cases/index.html | 88 +
docs/cloud-native/index.html | 90 +
docs/command-line-tools/index.html | 189 ++
docs/contributing/index.html | 130 ++
docs/data-permissions/index.html | 94 +
docs/dispatchers/index.html | 95 +
docs/effector/index.html | 103 +
docs/enforcers/index.html | 91 +
docs/envoy/index.html | 121 ++
docs/frontend/index.html | 138 ++
docs/function/index.html | 121 ++
docs/get-started/index.html | 108 ++
docs/graphql-middlewares/index.html | 92 +
docs/how-it-works/index.html | 125 ++
docs/ide-plugins/index.html | 97 +
docs/k8s-gatekeeper/index.html | 290 +++
docs/kong-authz/index.html | 157 ++
docs/lbac/index.html | 124 ++
docs/log-error/index.html | 119 ++
docs/mac-overview/index.html | 109 ++
docs/management-api/index.html | 383 ++++
docs/menu-permissions/index.html | 128 ++
docs/middlewares/index.html | 92 +
docs/model-storage/index.html | 101 +
docs/multi-threading/index.html | 89 +
docs/online-editor/index.html | 109 ++
docs/orbac/index.html | 121 ++
docs/overview/index.html | 114 ++
docs/pbac/index.html | 116 ++
docs/performance/index.html | 102 +
docs/plugins-overview/index.html | 105 +
docs/policy-storage/index.html | 107 ++
docs/policy-subset-loading/index.html | 92 +
docs/priority-model/index.html | 118 ++
docs/privacy-policy/index.html | 95 +
docs/rbac-96/index.html | 99 +
docs/rbac-api/index.html | 278 +++
docs/rbac-overview/index.html | 104 +
docs/rbac-with-conditions-api/index.html | 101 +
docs/rbac-with-conditions/index.html | 112 ++
docs/rbac-with-domains-api/index.html | 131 ++
docs/rbac-with-domains/index.html | 103 +
docs/rbac-with-pattern/index.html | 119 ++
docs/rbac/index.html | 116 ++
docs/rebac/index.html | 106 ++
docs/role-managers/index.html | 91 +
docs/rolemanager-api/index.html | 135 ++
docs/service/index.html | 89 +
docs/superadmin/index.html | 90 +
docs/supported-models/index.html | 110 ++
docs/syntax-for-models/index.html | 162 ++
docs/terms-of-service/index.html | 110 ++
docs/tutorials/index.html | 140 ++
docs/ucon/index.html | 139 ++
docs/watchers/index.html | 95 +
ecosystem/index.html | 88 +
editor/index.html | 88 +
es/.nojekyll | 0
es/404.html | 88 +
es/assets/css/styles.a39f5ee8.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
es/assets/js/01a85c17.dce7d51e.js | 1 +
es/assets/js/033c21c4.bebadbd8.js | 1 +
es/assets/js/04a7a5b9.263a5387.js | 1 +
es/assets/js/065c5824.528a99a2.js | 1 +
es/assets/js/09412afc.90e8a79a.js | 1 +
es/assets/js/0c69ec8d.f8a0b5fb.js | 1 +
es/assets/js/0cb979bd.d810138d.js | 1 +
es/assets/js/0d78a03f.c6ffab36.js | 1 +
es/assets/js/0e2bc31e.a155d660.js | 1 +
es/assets/js/1287887f.7f542618.js | 1 +
es/assets/js/13d8d1c3.63a7367e.js | 1 +
es/assets/js/14eb3368.ee36e5dc.js | 1 +
es/assets/js/17896441.1c55263e.js | 1 +
es/assets/js/186863e3.7d21ff20.js | 1 +
es/assets/js/1a4e3797.607f840a.js | 1 +
es/assets/js/1ba47578.e14e7713.js | 1 +
es/assets/js/1bb024a7.e77f71d4.js | 1 +
es/assets/js/1f727179.1d3483d2.js | 1 +
es/assets/js/2143.631f9abc.js | 1 +
es/assets/js/2237.4c917a91.js | 1 +
es/assets/js/2323143b.efa2e34c.js | 1 +
es/assets/js/253195c8.7d8d3c6b.js | 1 +
es/assets/js/2693.aae57f15.js | 2 +
es/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
es/assets/js/29f9875a.a1a7c5af.js | 1 +
es/assets/js/2eb26aeb.8f599925.js | 1 +
es/assets/js/2ec537be.16a7e8c6.js | 1 +
es/assets/js/30608e35.064057cc.js | 1 +
es/assets/js/3347.442b4917.js | 1 +
es/assets/js/3362e121.70333acb.js | 1 +
es/assets/js/366394b2.a77604d0.js | 1 +
es/assets/js/36994c47.a0416590.js | 1 +
es/assets/js/3955.118925ae.js | 25 +
es/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
es/assets/js/416.ffc71866.js | 1 +
es/assets/js/41789b3a.dbb6d010.js | 1 +
es/assets/js/4395b7f5.5a099e45.js | 1 +
es/assets/js/43996815.8f74d9e9.js | 1 +
es/assets/js/47306f56.9df54124.js | 1 +
es/assets/js/4940f4b7.764470d9.js | 1 +
es/assets/js/4fa0b6c1.acaa3e82.js | 1 +
es/assets/js/5165c914.d3bc1473.js | 1 +
es/assets/js/555c7487.78e11f2b.js | 1 +
es/assets/js/56cd07ba.2290307a.js | 1 +
es/assets/js/5a5cc68f.65cedf3a.js | 1 +
es/assets/js/5b95c277.7abdd460.js | 1 +
es/assets/js/5e95c892.4d39f66c.js | 1 +
es/assets/js/621db11d.e8bb016f.js | 1 +
es/assets/js/63da350a.493bfb29.js | 1 +
es/assets/js/67b46869.3a2631c1.js | 1 +
es/assets/js/6875c492.1b5dc22a.js | 1 +
es/assets/js/6b502a1b.38543c42.js | 1 +
es/assets/js/6b9244a1.17ed0c94.js | 1 +
es/assets/js/6fecbc3e.fd47dde7.js | 1 +
es/assets/js/72399437.b88d17f6.js | 1 +
es/assets/js/778e34d8.c7c03658.js | 1 +
es/assets/js/77a9413f.8f352bf8.js | 1 +
es/assets/js/79b356ac.00c96937.js | 1 +
es/assets/js/79c004b9.1c52570a.js | 1 +
es/assets/js/7a855677.444c29fc.js | 1 +
es/assets/js/7b407a3c.74bdf400.js | 1 +
es/assets/js/7bace96a.2fea816a.js | 1 +
es/assets/js/7e37206e.68dee4e3.js | 1 +
es/assets/js/80dcbaca.73f92b77.js | 1 +
es/assets/js/81362545.cdb677d6.js | 1 +
es/assets/js/814f3328.056232ba.js | 1 +
es/assets/js/851ab659.43b6ae29.js | 1 +
es/assets/js/8815dfd0.3f73f8ef.js | 1 +
es/assets/js/8913.dcb61d6c.js | 1 +
es/assets/js/8aba1813.a5d54ff7.js | 1 +
es/assets/js/8b20138e.772787b4.js | 1 +
es/assets/js/8bf56fea.cddb5a25.js | 1 +
es/assets/js/8c6917ce.2592d6e9.js | 1 +
es/assets/js/8d4c6fb5.ee64148e.js | 1 +
es/assets/js/9013ee67.9c8b7362.js | 1 +
es/assets/js/934765e9.3c64d75e.js | 1 +
es/assets/js/965f8416.2b39c3a5.js | 1 +
es/assets/js/9785.a386bbff.js | 1 +
es/assets/js/979e9836.a196cbb1.js | 1 +
es/assets/js/99cc402d.b34d126d.js | 1 +
es/assets/js/9a43dd4a.4d0b42ba.js | 1 +
es/assets/js/9d39d3e7.42e6cc16.js | 1 +
es/assets/js/9e4087bc.9269875d.js | 1 +
es/assets/js/a14a1e2d.738e63cb.js | 1 +
es/assets/js/a26da8ac.c3dc84b1.js | 1 +
es/assets/js/a6379a92.28661300.js | 1 +
es/assets/js/a6aa9e1f.165a5b46.js | 1 +
es/assets/js/a7456010.4ce1f9e1.js | 1 +
es/assets/js/a7bd4aaa.fea2f11b.js | 1 +
es/assets/js/a94703ab.c810baba.js | 1 +
es/assets/js/aba21aa0.8989bbd3.js | 1 +
es/assets/js/acecf23e.88411dd9.js | 1 +
es/assets/js/af735b56.7c1f4c4e.js | 1 +
es/assets/js/af913d4d.b93183a2.js | 1 +
es/assets/js/b0461cb8.ce07b364.js | 1 +
es/assets/js/b9211f07.ba73b731.js | 1 +
es/assets/js/bcd25b78.598085b6.js | 1 +
es/assets/js/c0a0f6be.8cad31be.js | 1 +
es/assets/js/c141421f.266bc054.js | 1 +
es/assets/js/c2db009e.0ba5f02b.js | 1 +
es/assets/js/c4f5d8e4.d849bf54.js | 2 +
es/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
es/assets/js/c663f90f.900af811.js | 1 +
es/assets/js/ccc49370.dab9e754.js | 1 +
es/assets/js/cd64914c.bb86efa7.js | 1 +
es/assets/js/cf3c9516.5db6f94f.js | 1 +
es/assets/js/cf5c7ed3.109f5054.js | 1 +
es/assets/js/d1c7bdb2.d8c58133.js | 1 +
es/assets/js/d3709192.a87d6f6d.js | 1 +
es/assets/js/d3fe444b.1af9a82a.js | 1 +
es/assets/js/d4b10a9f.2b9f997a.js | 1 +
es/assets/js/d5a5486c.fcb1985a.js | 1 +
es/assets/js/d6b4f4d5.82dc4db1.js | 1 +
es/assets/js/d9ba6e1e.92dd009c.js | 1 +
es/assets/js/dcddc80c.80a77c24.js | 1 +
es/assets/js/de2dffd3.ad0b9f59.js | 1 +
es/assets/js/dfed01cf.95bed698.js | 1 +
es/assets/js/e01cd1a3.b44820e1.js | 1 +
es/assets/js/e0ad5385.bd64f724.js | 1 +
es/assets/js/e1d89773.31f8bc8f.js | 1 +
es/assets/js/e59a015e.353c586b.js | 1 +
es/assets/js/e74a79a5.95553122.js | 1 +
es/assets/js/e92b5608.1d83a56b.js | 1 +
es/assets/js/eac99617.88225526.js | 1 +
es/assets/js/f4389fab.a58ba0a2.js | 1 +
es/assets/js/f45b9019.3bbcb481.js | 1 +
es/assets/js/f46d8b8e.4b9cd195.js | 1 +
es/assets/js/f5adcdba.96e5b7c3.js | 1 +
es/assets/js/f601d5af.2353e2b8.js | 1 +
es/assets/js/fae25d00.71a94f08.js | 1 +
es/assets/js/fbdce060.978ffe99.js | 1 +
es/assets/js/fd9d9c89.1b90b4d4.js | 1 +
es/assets/js/main.92499353.js | 2 +
es/assets/js/main.92499353.js.LICENSE.txt | 51 +
es/assets/js/runtime~main.2f7d0f12.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
es/blog/2018/08/27/node-casbin/index.html | 91 +
es/blog/2018/09/23/new-website/index.html | 90 +
es/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
es/blog/archive/index.html | 88 +
es/blog/atom.xml | 277 +++
es/blog/authors/index.html | 88 +
es/blog/casbin-2025-ai-agent-era/index.html | 123 ++
es/blog/index.html | 90 +
es/blog/rss.xml | 251 +++
es/blog/tags/ai/index.html | 88 +
es/blog/tags/casbin/index.html | 88 +
es/blog/tags/edge-computing/index.html | 88 +
es/blog/tags/index.html | 88 +
es/blog/tags/llm/index.html | 88 +
es/blog/tags/mcp/index.html | 88 +
es/blog/tags/roadmap/index.html | 88 +
es/casbin-editor/index.html | 29 +
es/data/users.json | 170 ++
es/docs/abac/index.html | 112 ++
es/docs/adapters/index.html | 178 ++
es/docs/admin-portal/index.html | 92 +
es/docs/adopters/index.html | 92 +
es/docs/api-overview/index.html | 154 ++
es/docs/benchmark/index.html | 93 +
es/docs/biba/index.html | 134 ++
es/docs/blp/index.html | 123 ++
es/docs/category/about--more/index.html | 88 +
es/docs/category/access-control-models/index.html | 88 +
es/docs/category/advanced-usage/index.html | 88 +
es/docs/category/api/index.html | 88 +
es/docs/category/basics/index.html | 88 +
es/docs/category/editors--tools/index.html | 88 +
es/docs/category/management/index.html | 88 +
es/docs/category/storage/index.html | 88 +
es/docs/category/use-cases/index.html | 88 +
es/docs/cloud-native/index.html | 90 +
es/docs/command-line-tools/index.html | 189 ++
es/docs/contributing/index.html | 130 ++
es/docs/data-permissions/index.html | 94 +
es/docs/dispatchers/index.html | 95 +
es/docs/effector/index.html | 103 +
es/docs/enforcers/index.html | 91 +
es/docs/envoy/index.html | 121 ++
es/docs/frontend/index.html | 138 ++
es/docs/function/index.html | 121 ++
es/docs/get-started/index.html | 108 ++
es/docs/graphql-middlewares/index.html | 92 +
es/docs/how-it-works/index.html | 125 ++
es/docs/ide-plugins/index.html | 97 +
es/docs/k8s-gatekeeper/index.html | 290 +++
es/docs/kong-authz/index.html | 157 ++
es/docs/lbac/index.html | 124 ++
es/docs/log-error/index.html | 119 ++
es/docs/mac-overview/index.html | 109 ++
es/docs/management-api/index.html | 383 ++++
es/docs/menu-permissions/index.html | 128 ++
es/docs/middlewares/index.html | 92 +
es/docs/model-storage/index.html | 101 +
es/docs/multi-threading/index.html | 89 +
es/docs/online-editor/index.html | 109 ++
es/docs/orbac/index.html | 121 ++
es/docs/overview/index.html | 114 ++
es/docs/pbac/index.html | 116 ++
es/docs/performance/index.html | 102 +
es/docs/plugins-overview/index.html | 105 +
es/docs/policy-storage/index.html | 107 ++
es/docs/policy-subset-loading/index.html | 92 +
es/docs/priority-model/index.html | 118 ++
es/docs/privacy-policy/index.html | 95 +
es/docs/rbac-96/index.html | 99 +
es/docs/rbac-api/index.html | 278 +++
es/docs/rbac-overview/index.html | 104 +
es/docs/rbac-with-conditions-api/index.html | 101 +
es/docs/rbac-with-conditions/index.html | 112 ++
es/docs/rbac-with-domains-api/index.html | 131 ++
es/docs/rbac-with-domains/index.html | 103 +
es/docs/rbac-with-pattern/index.html | 119 ++
es/docs/rbac/index.html | 116 ++
es/docs/rebac/index.html | 106 ++
es/docs/role-managers/index.html | 91 +
es/docs/rolemanager-api/index.html | 135 ++
es/docs/service/index.html | 89 +
es/docs/superadmin/index.html | 90 +
es/docs/supported-models/index.html | 110 ++
es/docs/syntax-for-models/index.html | 162 ++
es/docs/terms-of-service/index.html | 110 ++
es/docs/tutorials/index.html | 140 ++
es/docs/ucon/index.html | 139 ++
es/docs/watchers/index.html | 95 +
es/ecosystem/index.html | 88 +
es/editor/index.html | 88 +
es/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
es/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
es/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
es/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
es/gallery/index.html | 88 +
es/help/index.html | 88 +
es/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
es/img/background.png | Bin 0 -> 429128 bytes
es/img/blog/model.png | Bin 0 -> 823392 bytes
es/img/casbin.svg | 10 +
es/img/casbin_min.svg | 9 +
es/img/docusaurus.png | Bin 0 -> 5142 bytes
es/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
es/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
es/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
es/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
es/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
es/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
es/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
es/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
es/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
es/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
es/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
es/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
es/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
es/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
es/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
es/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
es/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
es/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
es/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
es/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
es/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
es/img/ecosystem/django.png | Bin 0 -> 3266 bytes
es/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
es/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
es/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
es/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
es/img/ecosystem/express.png | Bin 0 -> 2942 bytes
es/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
es/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
es/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
es/img/ecosystem/file.png | Bin 0 -> 2099 bytes
es/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
es/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
es/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
es/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
es/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
es/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
es/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
es/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
es/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
es/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
es/img/ecosystem/http.png | Bin 0 -> 2071 bytes
es/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
es/img/ecosystem/json.png | Bin 0 -> 2396 bytes
es/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
es/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
es/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
es/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
es/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
es/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
es/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
es/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
es/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
es/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
es/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
es/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
es/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
es/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
es/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
es/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
es/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
es/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
es/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
es/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
es/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
es/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
es/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
es/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
es/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
es/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
es/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
es/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
es/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
es/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
es/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
es/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
es/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
es/img/ecosystem/session.png | Bin 0 -> 3129 bytes
es/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
es/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
es/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
es/img/ecosystem/string.png | Bin 0 -> 5368 bytes
es/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
es/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
es/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
es/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
es/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
es/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
es/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
es/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
es/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
es/img/editor-ai.png | Bin 0 -> 271698 bytes
es/img/editor-endpoint.png | Bin 0 -> 57531 bytes
es/img/editor-engine.png | Bin 0 -> 105638 bytes
es/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
es/img/editor-tips.png | Bin 0 -> 12133 bytes
es/img/editor-upload.png | Bin 0 -> 36050 bytes
es/img/favicon.ico | Bin 0 -> 3626 bytes
es/img/favicon.png | Bin 0 -> 10527 bytes
es/img/github.png | Bin 0 -> 23729 bytes
es/img/langs/cpp.png | Bin 0 -> 21992 bytes
es/img/langs/delphi.png | Bin 0 -> 30246 bytes
es/img/langs/dotnet.png | Bin 0 -> 41524 bytes
es/img/langs/golang.png | Bin 0 -> 54614 bytes
es/img/langs/java.png | Bin 0 -> 16040 bytes
es/img/langs/nodejs.png | Bin 0 -> 27603 bytes
es/img/langs/php.png | Bin 0 -> 42168 bytes
es/img/langs/python.png | Bin 0 -> 20755 bytes
es/img/langs/rust.png | Bin 0 -> 8291 bytes
es/img/language-dark.png | Bin 0 -> 30816 bytes
es/img/language.png | Bin 0 -> 50757 bytes
es/img/language.svg | 710 +++++++
es/img/logo.svg | 1 +
es/img/model-dark.png | Bin 0 -> 21754 bytes
es/img/model.png | Bin 0 -> 8670 bytes
es/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
es/img/role.png | Bin 0 -> 78158 bytes
es/img/scale.png | Bin 0 -> 16385 bytes
es/img/storage-dark.png | Bin 0 -> 19568 bytes
es/img/storage.png | Bin 0 -> 26864 bytes
es/img/storage.svg | 477 +++++
es/img/store.png | Bin 0 -> 35459 bytes
es/img/store.svg | 2005 ++++++++++++++++++++
es/img/tutorial/acl.png | Bin 0 -> 633359 bytes
es/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
es/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
es/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
es/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
es/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
es/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
es/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
es/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
es/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
es/img/undraw_docusaurus_mountain.svg | 170 ++
es/img/undraw_docusaurus_react.svg | 169 ++
es/img/undraw_docusaurus_tree.svg | 1 +
es/img/users/360.png | Bin 0 -> 15651 bytes
es/img/users/alibaba.png | Bin 0 -> 160461 bytes
es/img/users/bose.png | Bin 0 -> 3360 bytes
es/img/users/bytebase.png | Bin 0 -> 11023 bytes
es/img/users/cisco.png | Bin 0 -> 10262 bytes
es/img/users/docker.png | Bin 0 -> 6192 bytes
es/img/users/elastic.png | Bin 0 -> 42387 bytes
es/img/users/eth.png | Bin 0 -> 46321 bytes
es/img/users/f5.png | Bin 0 -> 49662 bytes
es/img/users/honeywell.png | Bin 0 -> 57802 bytes
es/img/users/hpe.png | Bin 0 -> 32136 bytes
es/img/users/ibm.png | Bin 0 -> 24323 bytes
es/img/users/intel.png | Bin 0 -> 17619 bytes
es/img/users/jdlt.png | Bin 0 -> 13501 bytes
es/img/users/microsoft.png | Bin 0 -> 13325 bytes
es/img/users/musma.png | Bin 0 -> 9343 bytes
es/img/users/ontario.png | Bin 0 -> 38267 bytes
es/img/users/orange.png | Bin 0 -> 5217 bytes
es/img/users/pulsar.png | Bin 0 -> 8905 bytes
es/img/users/redhat.png | Bin 0 -> 33950 bytes
es/img/users/rspacex.png | Bin 0 -> 52166 bytes
es/img/users/se.png | Bin 0 -> 2963 bytes
es/img/users/siemens.png | Bin 0 -> 5285 bytes
es/img/users/t-mobile.png | Bin 0 -> 74117 bytes
es/img/users/tencent.png | Bin 0 -> 10932 bytes
es/img/users/verizon.png | Bin 0 -> 22526 bytes
es/img/users/vmware.png | Bin 0 -> 10251 bytes
es/img/users/zilliz.png | Bin 0 -> 7611 bytes
es/index.html | 88 +
es/js/clarity.js | 5 +
es/js/hotjar.js | 12 +
es/js/probe.js | 1 +
es/js/tawk.js | 9 +
es/opensearch.xml | 11 +
es/robots.txt | 2 +
es/search/index.html | 88 +
es/sitemap.xml | 1 +
es/users/index.html | 88 +
fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
fr/.nojekyll | 0
fr/404.html | 88 +
fr/assets/css/styles.dcc8e929.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
fr/assets/js/01133eb1.7e7db564.js | 1 +
fr/assets/js/01a85c17.dce7d51e.js | 1 +
fr/assets/js/02089a50.69efea8e.js | 1 +
fr/assets/js/0873a099.ae432eaf.js | 1 +
fr/assets/js/0e5f4b26.50d5f9c0.js | 1 +
fr/assets/js/101fa927.1fad0264.js | 1 +
fr/assets/js/11857586.9e2692cc.js | 1 +
fr/assets/js/11946b5f.a0e5c831.js | 1 +
fr/assets/js/14eb3368.ee36e5dc.js | 1 +
fr/assets/js/17896441.1c55263e.js | 1 +
fr/assets/js/1843f439.deeacb2b.js | 1 +
fr/assets/js/186863e3.7d21ff20.js | 1 +
fr/assets/js/19f1e11d.6d9a0ec0.js | 1 +
fr/assets/js/1a2b0a65.f7008d26.js | 1 +
fr/assets/js/1a4e3797.607f840a.js | 1 +
fr/assets/js/1afe6b96.fd84ef59.js | 1 +
fr/assets/js/1c93e4c3.32453b2b.js | 1 +
fr/assets/js/1e664746.b7687ae4.js | 1 +
fr/assets/js/1f456fc3.1877de05.js | 1 +
fr/assets/js/2143.631f9abc.js | 1 +
fr/assets/js/2237.4c917a91.js | 1 +
fr/assets/js/255e5890.f5317776.js | 1 +
fr/assets/js/2693.aae57f15.js | 2 +
fr/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
fr/assets/js/271ed4d7.f7def5f7.js | 1 +
fr/assets/js/28b781ea.92121505.js | 1 +
fr/assets/js/2ec15747.8e2f7f49.js | 1 +
fr/assets/js/3347.442b4917.js | 1 +
fr/assets/js/3362e121.70333acb.js | 1 +
fr/assets/js/36994c47.a0416590.js | 1 +
fr/assets/js/36db71ec.a8be3d14.js | 1 +
fr/assets/js/3955.118925ae.js | 25 +
fr/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
fr/assets/js/3f1382e1.c1d4c099.js | 1 +
fr/assets/js/3feb589b.36f07428.js | 1 +
fr/assets/js/416.ffc71866.js | 1 +
fr/assets/js/438b5cb3.67631612.js | 1 +
fr/assets/js/448977d5.96de9718.js | 1 +
fr/assets/js/4a1b487e.2c24d014.js | 1 +
fr/assets/js/4b7de22d.af4d0452.js | 1 +
fr/assets/js/4f9d29a3.c905b12c.js | 1 +
fr/assets/js/52326398.368941fd.js | 1 +
fr/assets/js/55d452aa.66d7d961.js | 1 +
fr/assets/js/57310eca.2cbe2135.js | 1 +
fr/assets/js/578feab1.b8a238e6.js | 1 +
fr/assets/js/5dd78c2d.6c69af5d.js | 1 +
fr/assets/js/5e76f825.2cdecd00.js | 1 +
fr/assets/js/5e95c892.2db799a2.js | 1 +
fr/assets/js/6075bf9b.52ba431f.js | 1 +
fr/assets/js/60d72af5.cf0fa34c.js | 1 +
fr/assets/js/61048320.2131d46e.js | 1 +
fr/assets/js/6142884c.fe99a85f.js | 1 +
fr/assets/js/621db11d.e8bb016f.js | 1 +
fr/assets/js/62bf3425.279cdd37.js | 1 +
fr/assets/js/654dff54.17be05f3.js | 1 +
fr/assets/js/6875c492.1b5dc22a.js | 1 +
fr/assets/js/6baddb83.67c6e24a.js | 1 +
fr/assets/js/738f3720.a4680d16.js | 1 +
fr/assets/js/73d637bd.c8b9feb1.js | 1 +
fr/assets/js/74248073.7df675a5.js | 1 +
fr/assets/js/7afbfa9d.20cdc966.js | 1 +
fr/assets/js/7c6d49c4.4eaaa23a.js | 1 +
fr/assets/js/7e37206e.68dee4e3.js | 1 +
fr/assets/js/7f8fdfbb.1dd5860f.js | 1 +
fr/assets/js/814d1d59.2cf4fc09.js | 1 +
fr/assets/js/814f3328.16c3e4d0.js | 1 +
fr/assets/js/83e9b7b5.63856a24.js | 1 +
fr/assets/js/861c863e.6ee8c705.js | 1 +
fr/assets/js/8913.dcb61d6c.js | 1 +
fr/assets/js/89f9cb1c.422fa0bd.js | 1 +
fr/assets/js/8d1fdad7.0a0f4d8a.js | 1 +
fr/assets/js/8e333ee8.ae7f1527.js | 1 +
fr/assets/js/8e83556e.5be11e94.js | 1 +
fr/assets/js/8ed8f2ce.3e6e764b.js | 1 +
fr/assets/js/8fbfd80f.69553b39.js | 1 +
fr/assets/js/92a911f3.f6fd60f8.js | 1 +
fr/assets/js/9542c2a0.80e7b88f.js | 1 +
fr/assets/js/9785.a386bbff.js | 1 +
fr/assets/js/9b5aeded.49668a92.js | 1 +
fr/assets/js/9e4087bc.9269875d.js | 1 +
fr/assets/js/9eab19dd.e86315cd.js | 1 +
fr/assets/js/a58e1f1c.681d4579.js | 1 +
fr/assets/js/a6aa9e1f.165a5b46.js | 1 +
fr/assets/js/a7456010.4ce1f9e1.js | 1 +
fr/assets/js/a7bd4aaa.fea2f11b.js | 1 +
fr/assets/js/a859396c.73a567e9.js | 1 +
fr/assets/js/a94703ab.c810baba.js | 1 +
fr/assets/js/a9ae5eff.170c965e.js | 1 +
fr/assets/js/aba21aa0.8989bbd3.js | 1 +
fr/assets/js/acbd9bf7.f239cd9c.js | 1 +
fr/assets/js/acecf23e.baa0d001.js | 1 +
fr/assets/js/add0791f.367a967d.js | 1 +
fr/assets/js/af913d4d.b93183a2.js | 1 +
fr/assets/js/b087c155.03a5b05c.js | 1 +
fr/assets/js/b0b2d802.132da742.js | 1 +
fr/assets/js/b0e556d1.cd2732f4.js | 1 +
fr/assets/js/b63c0d81.0b873c3d.js | 1 +
fr/assets/js/b8b2057e.d5f76a19.js | 1 +
fr/assets/js/bec761b3.ebd773f2.js | 1 +
fr/assets/js/bf1dfb81.b46ac37e.js | 1 +
fr/assets/js/c141421f.266bc054.js | 1 +
fr/assets/js/c4f5d8e4.d849bf54.js | 2 +
fr/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
fr/assets/js/c655d358.4988f0a6.js | 1 +
fr/assets/js/c80a69eb.3a26a58b.js | 1 +
fr/assets/js/ccc49370.dab9e754.js | 1 +
fr/assets/js/d0f72c60.a7251f27.js | 1 +
fr/assets/js/d178f554.db63045a.js | 1 +
fr/assets/js/d2670e33.853b6b27.js | 1 +
fr/assets/js/d7383bfb.b4a9e6ad.js | 1 +
fr/assets/js/d9a96bff.1e7adf3c.js | 1 +
fr/assets/js/da09d5db.234aeaea.js | 1 +
fr/assets/js/db68a978.9c40d131.js | 1 +
fr/assets/js/dbd6c366.495a52d9.js | 1 +
fr/assets/js/de4e43e0.ebeb3ba8.js | 1 +
fr/assets/js/dfbf2afa.28805ffa.js | 1 +
fr/assets/js/e334f03a.8f4b8c2a.js | 1 +
fr/assets/js/e74a79a5.95553122.js | 1 +
fr/assets/js/e98e6f96.f61933d6.js | 1 +
fr/assets/js/ea1b89d2.0d289e2d.js | 1 +
fr/assets/js/ea5cd240.a5c9e312.js | 1 +
fr/assets/js/ed7db79b.e2784142.js | 1 +
fr/assets/js/ef8d0fb5.078af21a.js | 1 +
fr/assets/js/f0a20756.360fdc8d.js | 1 +
fr/assets/js/f3f6926f.58ca76db.js | 1 +
fr/assets/js/f63eebd2.df003270.js | 1 +
fr/assets/js/f72b4f0e.7784cd3c.js | 1 +
fr/assets/js/f73d3381.daa7b978.js | 1 +
fr/assets/js/f8c5810d.82376a0c.js | 1 +
fr/assets/js/f937feb7.3cb151f0.js | 1 +
fr/assets/js/fc886ef7.9a4a0a2d.js | 1 +
fr/assets/js/fd9d9c89.1b90b4d4.js | 1 +
fr/assets/js/main.2b772fcd.js | 2 +
fr/assets/js/main.2b772fcd.js.LICENSE.txt | 51 +
fr/assets/js/runtime~main.0698a987.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
fr/blog/2018/08/27/node-casbin/index.html | 91 +
fr/blog/2018/09/23/new-website/index.html | 90 +
fr/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
fr/blog/archive/index.html | 88 +
fr/blog/atom.xml | 277 +++
fr/blog/authors/index.html | 88 +
fr/blog/casbin-2025-ai-agent-era/index.html | 123 ++
fr/blog/index.html | 90 +
fr/blog/rss.xml | 251 +++
fr/blog/tags/ai/index.html | 88 +
fr/blog/tags/casbin/index.html | 88 +
fr/blog/tags/edge-computing/index.html | 88 +
fr/blog/tags/index.html | 88 +
fr/blog/tags/llm/index.html | 88 +
fr/blog/tags/mcp/index.html | 88 +
fr/blog/tags/roadmap/index.html | 88 +
fr/casbin-editor/index.html | 29 +
fr/data/users.json | 170 ++
fr/docs/abac/index.html | 112 ++
fr/docs/adapters/index.html | 182 ++
fr/docs/admin-portal/index.html | 92 +
fr/docs/adopters/index.html | 92 +
fr/docs/api-overview/index.html | 154 ++
fr/docs/benchmark/index.html | 93 +
fr/docs/biba/index.html | 134 ++
fr/docs/blp/index.html | 123 ++
fr/docs/category/about--more/index.html | 88 +
fr/docs/category/access-control-models/index.html | 88 +
fr/docs/category/advanced-usage/index.html | 88 +
fr/docs/category/api/index.html | 88 +
fr/docs/category/basics/index.html | 88 +
fr/docs/category/editors--tools/index.html | 88 +
fr/docs/category/management/index.html | 88 +
fr/docs/category/storage/index.html | 88 +
fr/docs/category/use-cases/index.html | 88 +
fr/docs/cloud-native/index.html | 90 +
fr/docs/command-line-tools/index.html | 189 ++
fr/docs/contributing/index.html | 130 ++
fr/docs/data-permissions/index.html | 94 +
fr/docs/dispatchers/index.html | 95 +
fr/docs/effector/index.html | 103 +
fr/docs/enforcers/index.html | 91 +
fr/docs/envoy/index.html | 121 ++
fr/docs/frontend/index.html | 138 ++
fr/docs/function/index.html | 121 ++
fr/docs/get-started/index.html | 108 ++
fr/docs/graphql-middlewares/index.html | 92 +
fr/docs/how-it-works/index.html | 125 ++
fr/docs/ide-plugins/index.html | 97 +
fr/docs/k8s-gatekeeper/index.html | 290 +++
fr/docs/kong-authz/index.html | 157 ++
fr/docs/lbac/index.html | 124 ++
fr/docs/log-error/index.html | 119 ++
fr/docs/mac-overview/index.html | 109 ++
fr/docs/management-api/index.html | 383 ++++
fr/docs/menu-permissions/index.html | 128 ++
fr/docs/middlewares/index.html | 92 +
fr/docs/model-storage/index.html | 101 +
fr/docs/multi-threading/index.html | 89 +
fr/docs/online-editor/index.html | 109 ++
fr/docs/orbac/index.html | 121 ++
fr/docs/overview/index.html | 114 ++
fr/docs/pbac/index.html | 116 ++
fr/docs/performance/index.html | 102 +
fr/docs/plugins-overview/index.html | 105 +
fr/docs/policy-storage/index.html | 107 ++
fr/docs/policy-subset-loading/index.html | 92 +
fr/docs/priority-model/index.html | 118 ++
fr/docs/privacy-policy/index.html | 95 +
fr/docs/rbac-96/index.html | 99 +
fr/docs/rbac-api/index.html | 278 +++
fr/docs/rbac-overview/index.html | 104 +
fr/docs/rbac-with-conditions-api/index.html | 101 +
fr/docs/rbac-with-conditions/index.html | 112 ++
fr/docs/rbac-with-domains-api/index.html | 131 ++
fr/docs/rbac-with-domains/index.html | 103 +
fr/docs/rbac-with-pattern/index.html | 119 ++
fr/docs/rbac/index.html | 116 ++
fr/docs/rebac/index.html | 106 ++
fr/docs/role-managers/index.html | 91 +
fr/docs/rolemanager-api/index.html | 135 ++
fr/docs/service/index.html | 89 +
fr/docs/superadmin/index.html | 90 +
fr/docs/supported-models/index.html | 110 ++
fr/docs/syntax-for-models/index.html | 162 ++
fr/docs/terms-of-service/index.html | 110 ++
fr/docs/tutorials/index.html | 140 ++
fr/docs/ucon/index.html | 139 ++
fr/docs/watchers/index.html | 95 +
fr/ecosystem/index.html | 88 +
fr/editor/index.html | 88 +
fr/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
fr/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
fr/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
fr/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
fr/gallery/index.html | 88 +
fr/help/index.html | 88 +
fr/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
fr/img/background.png | Bin 0 -> 429128 bytes
fr/img/blog/model.png | Bin 0 -> 823392 bytes
fr/img/casbin.svg | 10 +
fr/img/casbin_min.svg | 9 +
fr/img/docusaurus.png | Bin 0 -> 5142 bytes
fr/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
fr/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
fr/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
fr/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
fr/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
fr/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
fr/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
fr/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
fr/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
fr/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
fr/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
fr/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
fr/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
fr/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
fr/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
fr/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
fr/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
fr/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
fr/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
fr/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
fr/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
fr/img/ecosystem/django.png | Bin 0 -> 3266 bytes
fr/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
fr/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
fr/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
fr/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
fr/img/ecosystem/express.png | Bin 0 -> 2942 bytes
fr/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
fr/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
fr/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
fr/img/ecosystem/file.png | Bin 0 -> 2099 bytes
fr/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
fr/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
fr/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
fr/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
fr/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
fr/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
fr/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
fr/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
fr/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
fr/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
fr/img/ecosystem/http.png | Bin 0 -> 2071 bytes
fr/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
fr/img/ecosystem/json.png | Bin 0 -> 2396 bytes
fr/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
fr/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
fr/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
fr/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
fr/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
fr/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
fr/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
fr/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
fr/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
fr/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
fr/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
fr/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
fr/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
fr/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
fr/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
fr/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
fr/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
fr/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
fr/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
fr/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
fr/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
fr/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
fr/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
fr/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
fr/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
fr/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
fr/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
fr/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
fr/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
fr/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
fr/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
fr/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
fr/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
fr/img/ecosystem/session.png | Bin 0 -> 3129 bytes
fr/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
fr/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
fr/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
fr/img/ecosystem/string.png | Bin 0 -> 5368 bytes
fr/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
fr/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
fr/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
fr/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
fr/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
fr/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
fr/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
fr/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
fr/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
fr/img/editor-ai.png | Bin 0 -> 271698 bytes
fr/img/editor-endpoint.png | Bin 0 -> 57531 bytes
fr/img/editor-engine.png | Bin 0 -> 105638 bytes
fr/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
fr/img/editor-tips.png | Bin 0 -> 12133 bytes
fr/img/editor-upload.png | Bin 0 -> 36050 bytes
fr/img/favicon.ico | Bin 0 -> 3626 bytes
fr/img/favicon.png | Bin 0 -> 10527 bytes
fr/img/github.png | Bin 0 -> 23729 bytes
fr/img/langs/cpp.png | Bin 0 -> 21992 bytes
fr/img/langs/delphi.png | Bin 0 -> 30246 bytes
fr/img/langs/dotnet.png | Bin 0 -> 41524 bytes
fr/img/langs/golang.png | Bin 0 -> 54614 bytes
fr/img/langs/java.png | Bin 0 -> 16040 bytes
fr/img/langs/nodejs.png | Bin 0 -> 27603 bytes
fr/img/langs/php.png | Bin 0 -> 42168 bytes
fr/img/langs/python.png | Bin 0 -> 20755 bytes
fr/img/langs/rust.png | Bin 0 -> 8291 bytes
fr/img/language-dark.png | Bin 0 -> 30816 bytes
fr/img/language.png | Bin 0 -> 50757 bytes
fr/img/language.svg | 710 +++++++
fr/img/logo.svg | 1 +
fr/img/model-dark.png | Bin 0 -> 21754 bytes
fr/img/model.png | Bin 0 -> 8670 bytes
fr/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
fr/img/role.png | Bin 0 -> 78158 bytes
fr/img/scale.png | Bin 0 -> 16385 bytes
fr/img/storage-dark.png | Bin 0 -> 19568 bytes
fr/img/storage.png | Bin 0 -> 26864 bytes
fr/img/storage.svg | 477 +++++
fr/img/store.png | Bin 0 -> 35459 bytes
fr/img/store.svg | 2005 ++++++++++++++++++++
fr/img/tutorial/acl.png | Bin 0 -> 633359 bytes
fr/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
fr/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
fr/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
fr/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
fr/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
fr/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
fr/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
fr/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
fr/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
fr/img/undraw_docusaurus_mountain.svg | 170 ++
fr/img/undraw_docusaurus_react.svg | 169 ++
fr/img/undraw_docusaurus_tree.svg | 1 +
fr/img/users/360.png | Bin 0 -> 15651 bytes
fr/img/users/alibaba.png | Bin 0 -> 160461 bytes
fr/img/users/bose.png | Bin 0 -> 3360 bytes
fr/img/users/bytebase.png | Bin 0 -> 11023 bytes
fr/img/users/cisco.png | Bin 0 -> 10262 bytes
fr/img/users/docker.png | Bin 0 -> 6192 bytes
fr/img/users/elastic.png | Bin 0 -> 42387 bytes
fr/img/users/eth.png | Bin 0 -> 46321 bytes
fr/img/users/f5.png | Bin 0 -> 49662 bytes
fr/img/users/honeywell.png | Bin 0 -> 57802 bytes
fr/img/users/hpe.png | Bin 0 -> 32136 bytes
fr/img/users/ibm.png | Bin 0 -> 24323 bytes
fr/img/users/intel.png | Bin 0 -> 17619 bytes
fr/img/users/jdlt.png | Bin 0 -> 13501 bytes
fr/img/users/microsoft.png | Bin 0 -> 13325 bytes
fr/img/users/musma.png | Bin 0 -> 9343 bytes
fr/img/users/ontario.png | Bin 0 -> 38267 bytes
fr/img/users/orange.png | Bin 0 -> 5217 bytes
fr/img/users/pulsar.png | Bin 0 -> 8905 bytes
fr/img/users/redhat.png | Bin 0 -> 33950 bytes
fr/img/users/rspacex.png | Bin 0 -> 52166 bytes
fr/img/users/se.png | Bin 0 -> 2963 bytes
fr/img/users/siemens.png | Bin 0 -> 5285 bytes
fr/img/users/t-mobile.png | Bin 0 -> 74117 bytes
fr/img/users/tencent.png | Bin 0 -> 10932 bytes
fr/img/users/verizon.png | Bin 0 -> 22526 bytes
fr/img/users/vmware.png | Bin 0 -> 10251 bytes
fr/img/users/zilliz.png | Bin 0 -> 7611 bytes
fr/index.html | 88 +
fr/js/clarity.js | 5 +
fr/js/hotjar.js | 12 +
fr/js/probe.js | 1 +
fr/js/tawk.js | 9 +
fr/opensearch.xml | 11 +
fr/robots.txt | 2 +
fr/search/index.html | 88 +
fr/sitemap.xml | 1 +
fr/users/index.html | 88 +
gallery/index.html | 88 +
help/index.html | 88 +
id/.nojekyll | 0
id/404.html | 88 +
id/assets/css/styles.30560e86.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
id/assets/js/01a85c17.dce7d51e.js | 1 +
id/assets/js/01ccfdde.59bcab41.js | 1 +
id/assets/js/06a5ff42.004f1922.js | 1 +
id/assets/js/0cb600e9.0db4cd7b.js | 1 +
id/assets/js/10cf72da.3e736cef.js | 1 +
id/assets/js/11eb90ec.55d596e0.js | 1 +
id/assets/js/14283e6a.8c6ff48d.js | 1 +
id/assets/js/14eb3368.ee36e5dc.js | 1 +
id/assets/js/15485578.142daa88.js | 1 +
id/assets/js/15b142b1.c88b2966.js | 1 +
id/assets/js/17896441.1c55263e.js | 1 +
id/assets/js/186863e3.7d21ff20.js | 1 +
id/assets/js/1a4e3797.607f840a.js | 1 +
id/assets/js/1f58dc2f.bfefa4aa.js | 1 +
id/assets/js/2143.631f9abc.js | 1 +
id/assets/js/2237.4c917a91.js | 1 +
id/assets/js/2277325b.81926a7d.js | 1 +
id/assets/js/23781a1e.13d7c45f.js | 1 +
id/assets/js/2399b7d3.53fa5e5e.js | 1 +
id/assets/js/2693.aae57f15.js | 2 +
id/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
id/assets/js/2814dfa3.0aa6037f.js | 1 +
id/assets/js/289390e2.65790385.js | 1 +
id/assets/js/2955508f.ae98267c.js | 1 +
id/assets/js/29c8bab6.a0af4d54.js | 1 +
id/assets/js/2d04add3.4a150487.js | 1 +
id/assets/js/2fb5f708.c1160afd.js | 1 +
id/assets/js/31f89c63.dea2603e.js | 1 +
id/assets/js/3347.442b4917.js | 1 +
id/assets/js/3362e121.70333acb.js | 1 +
id/assets/js/33fc55da.dfa78c28.js | 1 +
id/assets/js/36994c47.a0416590.js | 1 +
id/assets/js/36b60c0e.711724c1.js | 1 +
id/assets/js/3955.118925ae.js | 25 +
id/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
id/assets/js/3d9cf818.3b92cce1.js | 1 +
id/assets/js/40743a5a.e17154d7.js | 1 +
id/assets/js/416.ffc71866.js | 1 +
id/assets/js/4195a65e.e8d847fe.js | 1 +
id/assets/js/41db756c.27804193.js | 1 +
id/assets/js/4442a4c1.addbde5f.js | 1 +
id/assets/js/4873a0b6.b5d22832.js | 1 +
id/assets/js/55dfa713.b8fa00ca.js | 1 +
id/assets/js/57178b17.c7ee52c3.js | 1 +
id/assets/js/5e2357a6.f421bc9d.js | 1 +
id/assets/js/5e95c892.4d39f66c.js | 1 +
id/assets/js/621db11d.e8bb016f.js | 1 +
id/assets/js/655690da.a0893275.js | 1 +
id/assets/js/67bb2791.4e96cebe.js | 1 +
id/assets/js/6875c492.1b5dc22a.js | 1 +
id/assets/js/6a17dc27.7acd637d.js | 1 +
id/assets/js/6af4764b.9adf4c79.js | 1 +
id/assets/js/6b2519e8.1ee97bc7.js | 1 +
id/assets/js/6b5a6eca.111b59b4.js | 1 +
id/assets/js/7116734b.7a3d3c8b.js | 1 +
id/assets/js/7e37206e.68dee4e3.js | 1 +
id/assets/js/814f3328.db2f61e6.js | 1 +
id/assets/js/835c67ac.4c6c7f0a.js | 1 +
id/assets/js/8418bc3e.e09b8a4d.js | 1 +
id/assets/js/857cec06.08263b97.js | 1 +
id/assets/js/8913.dcb61d6c.js | 1 +
id/assets/js/8afa54ac.a7aa7ec5.js | 1 +
id/assets/js/8c05ad5b.1c0f71c9.js | 1 +
id/assets/js/8cab216e.e9a563c6.js | 1 +
id/assets/js/8cfc2e47.324b45e4.js | 1 +
id/assets/js/8d970383.1ae3a322.js | 1 +
id/assets/js/8eac8167.8b0d6633.js | 1 +
id/assets/js/92ee8e00.f13130bb.js | 1 +
id/assets/js/9660fc52.c9397157.js | 1 +
id/assets/js/9785.a386bbff.js | 1 +
id/assets/js/98f9529b.1750ff02.js | 1 +
id/assets/js/9a5a33c8.4c9755ee.js | 1 +
id/assets/js/9e4087bc.9269875d.js | 1 +
id/assets/js/9ed16294.fdfa79a3.js | 1 +
id/assets/js/9f2ed429.7d0eaf7d.js | 1 +
id/assets/js/a0087739.7a138697.js | 1 +
id/assets/js/a23da98f.d0d60000.js | 1 +
id/assets/js/a6aa9e1f.165a5b46.js | 1 +
id/assets/js/a7456010.4ce1f9e1.js | 1 +
id/assets/js/a7bd4aaa.fea2f11b.js | 1 +
id/assets/js/a7c8b014.2b4ed8ae.js | 1 +
id/assets/js/a8b942a6.efcc0118.js | 1 +
id/assets/js/a92991ea.b1bd8dbe.js | 1 +
id/assets/js/a94703ab.c810baba.js | 1 +
id/assets/js/a9b31030.6854c425.js | 1 +
id/assets/js/aba21aa0.8989bbd3.js | 1 +
id/assets/js/ac4099e7.f1e79685.js | 1 +
id/assets/js/acecf23e.ca359050.js | 1 +
id/assets/js/ae13fa90.c63434df.js | 1 +
id/assets/js/af913d4d.b93183a2.js | 1 +
id/assets/js/b7ab88cf.9118682f.js | 1 +
id/assets/js/b91da1c2.0d36677c.js | 1 +
id/assets/js/ba653933.a117aaa0.js | 1 +
id/assets/js/bc7fe825.f6915de0.js | 1 +
id/assets/js/bc826f00.06458104.js | 1 +
id/assets/js/be04c4e9.cf4ac0a4.js | 1 +
id/assets/js/bf7e1457.154849b3.js | 1 +
id/assets/js/c141421f.266bc054.js | 1 +
id/assets/js/c4f5d8e4.d849bf54.js | 2 +
id/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
id/assets/js/c899b780.ed942b3e.js | 1 +
id/assets/js/cc504306.84060767.js | 1 +
id/assets/js/cc5797d4.43fd0452.js | 1 +
id/assets/js/ccc49370.dab9e754.js | 1 +
id/assets/js/cde7423f.5184e65e.js | 1 +
id/assets/js/cec478a5.135ac774.js | 1 +
id/assets/js/d1dc7f4a.5087b492.js | 1 +
id/assets/js/d45c7c04.c880f197.js | 1 +
id/assets/js/d54d8539.7dafb5fe.js | 1 +
id/assets/js/d569c49d.0a2aafed.js | 1 +
id/assets/js/d680a2e8.7f218e42.js | 1 +
id/assets/js/d9f956c4.aa468276.js | 1 +
id/assets/js/dd741b37.4d88e7e5.js | 1 +
id/assets/js/e5dbf134.c13fe26d.js | 1 +
id/assets/js/e5de5ad1.9087270a.js | 1 +
id/assets/js/e74a79a5.95553122.js | 1 +
id/assets/js/e83bf657.c4981d39.js | 1 +
id/assets/js/e8a8ab6e.875c9982.js | 1 +
id/assets/js/f333f172.2a114347.js | 1 +
id/assets/js/f45626aa.c991bea5.js | 1 +
id/assets/js/f518c578.4b2508ca.js | 1 +
id/assets/js/f560963f.0c135572.js | 1 +
id/assets/js/f7515263.3c5f7872.js | 1 +
id/assets/js/f8e82e77.e238d594.js | 1 +
id/assets/js/fc0426ff.35c067da.js | 1 +
id/assets/js/fd408b60.bc1002b4.js | 1 +
id/assets/js/fd9d9c89.1b90b4d4.js | 1 +
id/assets/js/fe249803.23750fcc.js | 1 +
id/assets/js/fe344bde.42fd4cc9.js | 1 +
id/assets/js/feb24acf.b85a4592.js | 1 +
id/assets/js/ffc241f2.8f4175ba.js | 1 +
id/assets/js/fff911a9.56713214.js | 1 +
id/assets/js/main.796c72ae.js | 2 +
id/assets/js/main.796c72ae.js.LICENSE.txt | 51 +
id/assets/js/runtime~main.dd223aad.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
id/blog/2018/08/27/node-casbin/index.html | 91 +
id/blog/2018/09/23/new-website/index.html | 90 +
id/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
id/blog/archive/index.html | 88 +
id/blog/atom.xml | 277 +++
id/blog/authors/index.html | 88 +
id/blog/casbin-2025-ai-agent-era/index.html | 123 ++
id/blog/index.html | 90 +
id/blog/rss.xml | 251 +++
id/blog/tags/ai/index.html | 88 +
id/blog/tags/casbin/index.html | 88 +
id/blog/tags/edge-computing/index.html | 88 +
id/blog/tags/index.html | 88 +
id/blog/tags/llm/index.html | 88 +
id/blog/tags/mcp/index.html | 88 +
id/blog/tags/roadmap/index.html | 88 +
id/casbin-editor/index.html | 29 +
id/data/users.json | 170 ++
id/docs/abac/index.html | 112 ++
id/docs/adapters/index.html | 180 ++
id/docs/admin-portal/index.html | 92 +
id/docs/adopters/index.html | 92 +
id/docs/api-overview/index.html | 154 ++
id/docs/benchmark/index.html | 93 +
id/docs/biba/index.html | 134 ++
id/docs/blp/index.html | 123 ++
id/docs/category/about--more/index.html | 88 +
id/docs/category/access-control-models/index.html | 88 +
id/docs/category/advanced-usage/index.html | 88 +
id/docs/category/api/index.html | 88 +
id/docs/category/basics/index.html | 88 +
id/docs/category/editors--tools/index.html | 88 +
id/docs/category/management/index.html | 88 +
id/docs/category/storage/index.html | 88 +
id/docs/category/use-cases/index.html | 88 +
id/docs/cloud-native/index.html | 90 +
id/docs/command-line-tools/index.html | 189 ++
id/docs/contributing/index.html | 130 ++
id/docs/data-permissions/index.html | 94 +
id/docs/dispatchers/index.html | 95 +
id/docs/effector/index.html | 103 +
id/docs/enforcers/index.html | 91 +
id/docs/envoy/index.html | 121 ++
id/docs/frontend/index.html | 138 ++
id/docs/function/index.html | 121 ++
id/docs/get-started/index.html | 108 ++
id/docs/graphql-middlewares/index.html | 92 +
id/docs/how-it-works/index.html | 125 ++
id/docs/ide-plugins/index.html | 97 +
id/docs/k8s-gatekeeper/index.html | 290 +++
id/docs/kong-authz/index.html | 157 ++
id/docs/lbac/index.html | 124 ++
id/docs/log-error/index.html | 119 ++
id/docs/mac-overview/index.html | 109 ++
id/docs/management-api/index.html | 383 ++++
id/docs/menu-permissions/index.html | 128 ++
id/docs/middlewares/index.html | 92 +
id/docs/model-storage/index.html | 101 +
id/docs/multi-threading/index.html | 89 +
id/docs/online-editor/index.html | 109 ++
id/docs/orbac/index.html | 121 ++
id/docs/overview/index.html | 114 ++
id/docs/pbac/index.html | 116 ++
id/docs/performance/index.html | 102 +
id/docs/plugins-overview/index.html | 105 +
id/docs/policy-storage/index.html | 107 ++
id/docs/policy-subset-loading/index.html | 92 +
id/docs/priority-model/index.html | 118 ++
id/docs/privacy-policy/index.html | 95 +
id/docs/rbac-96/index.html | 99 +
id/docs/rbac-api/index.html | 278 +++
id/docs/rbac-overview/index.html | 104 +
id/docs/rbac-with-conditions-api/index.html | 101 +
id/docs/rbac-with-conditions/index.html | 112 ++
id/docs/rbac-with-domains-api/index.html | 131 ++
id/docs/rbac-with-domains/index.html | 103 +
id/docs/rbac-with-pattern/index.html | 119 ++
id/docs/rbac/index.html | 116 ++
id/docs/rebac/index.html | 106 ++
id/docs/role-managers/index.html | 91 +
id/docs/rolemanager-api/index.html | 135 ++
id/docs/service/index.html | 89 +
id/docs/superadmin/index.html | 90 +
id/docs/supported-models/index.html | 110 ++
id/docs/syntax-for-models/index.html | 162 ++
id/docs/terms-of-service/index.html | 110 ++
id/docs/tutorials/index.html | 140 ++
id/docs/ucon/index.html | 139 ++
id/docs/watchers/index.html | 95 +
id/ecosystem/index.html | 88 +
id/editor/index.html | 88 +
id/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
id/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
id/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
id/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
id/gallery/index.html | 88 +
id/help/index.html | 88 +
id/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
id/img/background.png | Bin 0 -> 429128 bytes
id/img/blog/model.png | Bin 0 -> 823392 bytes
id/img/casbin.svg | 10 +
id/img/casbin_min.svg | 9 +
id/img/docusaurus.png | Bin 0 -> 5142 bytes
id/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
id/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
id/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
id/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
id/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
id/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
id/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
id/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
id/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
id/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
id/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
id/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
id/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
id/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
id/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
id/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
id/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
id/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
id/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
id/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
id/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
id/img/ecosystem/django.png | Bin 0 -> 3266 bytes
id/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
id/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
id/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
id/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
id/img/ecosystem/express.png | Bin 0 -> 2942 bytes
id/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
id/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
id/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
id/img/ecosystem/file.png | Bin 0 -> 2099 bytes
id/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
id/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
id/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
id/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
id/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
id/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
id/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
id/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
id/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
id/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
id/img/ecosystem/http.png | Bin 0 -> 2071 bytes
id/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
id/img/ecosystem/json.png | Bin 0 -> 2396 bytes
id/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
id/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
id/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
id/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
id/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
id/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
id/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
id/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
id/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
id/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
id/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
id/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
id/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
id/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
id/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
id/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
id/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
id/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
id/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
id/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
id/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
id/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
id/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
id/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
id/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
id/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
id/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
id/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
id/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
id/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
id/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
id/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
id/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
id/img/ecosystem/session.png | Bin 0 -> 3129 bytes
id/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
id/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
id/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
id/img/ecosystem/string.png | Bin 0 -> 5368 bytes
id/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
id/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
id/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
id/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
id/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
id/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
id/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
id/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
id/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
id/img/editor-ai.png | Bin 0 -> 271698 bytes
id/img/editor-endpoint.png | Bin 0 -> 57531 bytes
id/img/editor-engine.png | Bin 0 -> 105638 bytes
id/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
id/img/editor-tips.png | Bin 0 -> 12133 bytes
id/img/editor-upload.png | Bin 0 -> 36050 bytes
id/img/favicon.ico | Bin 0 -> 3626 bytes
id/img/favicon.png | Bin 0 -> 10527 bytes
id/img/github.png | Bin 0 -> 23729 bytes
id/img/langs/cpp.png | Bin 0 -> 21992 bytes
id/img/langs/delphi.png | Bin 0 -> 30246 bytes
id/img/langs/dotnet.png | Bin 0 -> 41524 bytes
id/img/langs/golang.png | Bin 0 -> 54614 bytes
id/img/langs/java.png | Bin 0 -> 16040 bytes
id/img/langs/nodejs.png | Bin 0 -> 27603 bytes
id/img/langs/php.png | Bin 0 -> 42168 bytes
id/img/langs/python.png | Bin 0 -> 20755 bytes
id/img/langs/rust.png | Bin 0 -> 8291 bytes
id/img/language-dark.png | Bin 0 -> 30816 bytes
id/img/language.png | Bin 0 -> 50757 bytes
id/img/language.svg | 710 +++++++
id/img/logo.svg | 1 +
id/img/model-dark.png | Bin 0 -> 21754 bytes
id/img/model.png | Bin 0 -> 8670 bytes
id/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
id/img/role.png | Bin 0 -> 78158 bytes
id/img/scale.png | Bin 0 -> 16385 bytes
id/img/storage-dark.png | Bin 0 -> 19568 bytes
id/img/storage.png | Bin 0 -> 26864 bytes
id/img/storage.svg | 477 +++++
id/img/store.png | Bin 0 -> 35459 bytes
id/img/store.svg | 2005 ++++++++++++++++++++
id/img/tutorial/acl.png | Bin 0 -> 633359 bytes
id/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
id/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
id/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
id/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
id/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
id/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
id/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
id/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
id/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
id/img/undraw_docusaurus_mountain.svg | 170 ++
id/img/undraw_docusaurus_react.svg | 169 ++
id/img/undraw_docusaurus_tree.svg | 1 +
id/img/users/360.png | Bin 0 -> 15651 bytes
id/img/users/alibaba.png | Bin 0 -> 160461 bytes
id/img/users/bose.png | Bin 0 -> 3360 bytes
id/img/users/bytebase.png | Bin 0 -> 11023 bytes
id/img/users/cisco.png | Bin 0 -> 10262 bytes
id/img/users/docker.png | Bin 0 -> 6192 bytes
id/img/users/elastic.png | Bin 0 -> 42387 bytes
id/img/users/eth.png | Bin 0 -> 46321 bytes
id/img/users/f5.png | Bin 0 -> 49662 bytes
id/img/users/honeywell.png | Bin 0 -> 57802 bytes
id/img/users/hpe.png | Bin 0 -> 32136 bytes
id/img/users/ibm.png | Bin 0 -> 24323 bytes
id/img/users/intel.png | Bin 0 -> 17619 bytes
id/img/users/jdlt.png | Bin 0 -> 13501 bytes
id/img/users/microsoft.png | Bin 0 -> 13325 bytes
id/img/users/musma.png | Bin 0 -> 9343 bytes
id/img/users/ontario.png | Bin 0 -> 38267 bytes
id/img/users/orange.png | Bin 0 -> 5217 bytes
id/img/users/pulsar.png | Bin 0 -> 8905 bytes
id/img/users/redhat.png | Bin 0 -> 33950 bytes
id/img/users/rspacex.png | Bin 0 -> 52166 bytes
id/img/users/se.png | Bin 0 -> 2963 bytes
id/img/users/siemens.png | Bin 0 -> 5285 bytes
id/img/users/t-mobile.png | Bin 0 -> 74117 bytes
id/img/users/tencent.png | Bin 0 -> 10932 bytes
id/img/users/verizon.png | Bin 0 -> 22526 bytes
id/img/users/vmware.png | Bin 0 -> 10251 bytes
id/img/users/zilliz.png | Bin 0 -> 7611 bytes
id/index.html | 88 +
id/js/clarity.js | 5 +
id/js/hotjar.js | 12 +
id/js/probe.js | 1 +
id/js/tawk.js | 9 +
id/opensearch.xml | 11 +
id/robots.txt | 2 +
id/search/index.html | 88 +
id/sitemap.xml | 1 +
id/users/index.html | 88 +
img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
img/background.png | Bin 0 -> 429128 bytes
img/blog/model.png | Bin 0 -> 823392 bytes
img/casbin.svg | 10 +
img/casbin_min.svg | 9 +
img/docusaurus.png | Bin 0 -> 5142 bytes
img/ecosystem/DB.png | Bin 0 -> 4554 bytes
img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
img/ecosystem/actix.png | Bin 0 -> 3415 bytes
img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
img/ecosystem/badger.png | Bin 0 -> 8124 bytes
img/ecosystem/beego.png | Bin 0 -> 3988 bytes
img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
img/ecosystem/cake.png | Bin 0 -> 3670 bytes
img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
img/ecosystem/chi.png | Bin 0 -> 2216 bytes
img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
img/ecosystem/django.png | Bin 0 -> 3266 bytes
img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
img/ecosystem/echo.png | Bin 0 -> 3599 bytes
img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
img/ecosystem/express.png | Bin 0 -> 2942 bytes
img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
img/ecosystem/file.png | Bin 0 -> 2099 bytes
img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
img/ecosystem/flask.png | Bin 0 -> 7317 bytes
img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
img/ecosystem/hono.png | Bin 0 -> 7365 bytes
img/ecosystem/http.png | Bin 0 -> 2071 bytes
img/ecosystem/iris.png | Bin 0 -> 4992 bytes
img/ecosystem/json.png | Bin 0 -> 2396 bytes
img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
img/ecosystem/koa.png | Bin 0 -> 2344 bytes
img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
img/ecosystem/memory.png | Bin 0 -> 5879 bytes
img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
img/ecosystem/nats.png | Bin 0 -> 5145 bytes
img/ecosystem/nest.png | Bin 0 -> 3828 bytes
img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
img/ecosystem/okta.png | Bin 0 -> 3839 bytes
img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
img/ecosystem/redis.png | Bin 0 -> 4237 bytes
img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
img/ecosystem/revel.png | Bin 0 -> 2447 bytes
img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
img/ecosystem/session.png | Bin 0 -> 3129 bytes
img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
img/ecosystem/string.png | Bin 0 -> 5368 bytes
img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
img/ecosystem/yii.png | Bin 0 -> 3343 bytes
img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
img/editor-ai.png | Bin 0 -> 271698 bytes
img/editor-endpoint.png | Bin 0 -> 57531 bytes
img/editor-engine.png | Bin 0 -> 105638 bytes
img/editor-multi-engine.png | Bin 0 -> 227138 bytes
img/editor-tips.png | Bin 0 -> 12133 bytes
img/editor-upload.png | Bin 0 -> 36050 bytes
img/favicon.ico | Bin 0 -> 3626 bytes
img/favicon.png | Bin 0 -> 10527 bytes
img/github.png | Bin 0 -> 23729 bytes
img/langs/cpp.png | Bin 0 -> 21992 bytes
img/langs/delphi.png | Bin 0 -> 30246 bytes
img/langs/dotnet.png | Bin 0 -> 41524 bytes
img/langs/golang.png | Bin 0 -> 54614 bytes
img/langs/java.png | Bin 0 -> 16040 bytes
img/langs/nodejs.png | Bin 0 -> 27603 bytes
img/langs/php.png | Bin 0 -> 42168 bytes
img/langs/python.png | Bin 0 -> 20755 bytes
img/langs/rust.png | Bin 0 -> 8291 bytes
img/language-dark.png | Bin 0 -> 30816 bytes
img/language.png | Bin 0 -> 50757 bytes
img/language.svg | 710 +++++++
img/logo.svg | 1 +
img/model-dark.png | Bin 0 -> 21754 bytes
img/model.png | Bin 0 -> 8670 bytes
img/model.svg | 146 ++
img/rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
img/role.png | Bin 0 -> 78158 bytes
img/scale.png | Bin 0 -> 16385 bytes
img/storage-dark.png | Bin 0 -> 19568 bytes
img/storage.png | Bin 0 -> 26864 bytes
img/storage.svg | 477 +++++
img/store.png | Bin 0 -> 35459 bytes
img/store.svg | 2005 ++++++++++++++++++++
img/tutorial/acl.png | Bin 0 -> 633359 bytes
img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
img/tutorial/rbac.png | Bin 0 -> 768554 bytes
img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
img/undraw_docusaurus_mountain.svg | 170 ++
img/undraw_docusaurus_react.svg | 169 ++
img/undraw_docusaurus_tree.svg | 1 +
img/users/360.png | Bin 0 -> 15651 bytes
img/users/alibaba.png | Bin 0 -> 160461 bytes
img/users/bose.png | Bin 0 -> 3360 bytes
img/users/bytebase.png | Bin 0 -> 11023 bytes
img/users/cisco.png | Bin 0 -> 10262 bytes
img/users/docker.png | Bin 0 -> 6192 bytes
img/users/elastic.png | Bin 0 -> 42387 bytes
img/users/eth.png | Bin 0 -> 46321 bytes
img/users/f5.png | Bin 0 -> 49662 bytes
img/users/honeywell.png | Bin 0 -> 57802 bytes
img/users/hpe.png | Bin 0 -> 32136 bytes
img/users/ibm.png | Bin 0 -> 24323 bytes
img/users/intel.png | Bin 0 -> 17619 bytes
img/users/jdlt.png | Bin 0 -> 13501 bytes
img/users/microsoft.png | Bin 0 -> 13325 bytes
img/users/musma.png | Bin 0 -> 9343 bytes
img/users/ontario.png | Bin 0 -> 38267 bytes
img/users/orange.png | Bin 0 -> 5217 bytes
img/users/pulsar.png | Bin 0 -> 8905 bytes
img/users/redhat.png | Bin 0 -> 33950 bytes
img/users/rspacex.png | Bin 0 -> 52166 bytes
img/users/se.png | Bin 0 -> 2963 bytes
img/users/siemens.png | Bin 0 -> 5285 bytes
img/users/t-mobile.png | Bin 0 -> 74117 bytes
img/users/tencent.png | Bin 0 -> 10932 bytes
img/users/verizon.png | Bin 0 -> 22526 bytes
img/users/vmware.png | Bin 0 -> 10251 bytes
img/users/zilliz.png | Bin 0 -> 7611 bytes
index.html | 88 +
it/.nojekyll | 0
it/404.html | 88 +
it/assets/css/styles.bfd0f722.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
it/assets/js/006d1a03.3e358901.js | 1 +
it/assets/js/01a85c17.dce7d51e.js | 1 +
it/assets/js/0236a849.93700999.js | 1 +
it/assets/js/032a2266.e612a204.js | 1 +
it/assets/js/09699f76.30f93e3a.js | 1 +
it/assets/js/0cbd0579.7f52b03d.js | 1 +
it/assets/js/103fe45d.7fa4ee88.js | 1 +
it/assets/js/14eb3368.ee36e5dc.js | 1 +
it/assets/js/17896441.1c55263e.js | 1 +
it/assets/js/186863e3.7d21ff20.js | 1 +
it/assets/js/1a4e3797.607f840a.js | 1 +
it/assets/js/1a5a4a98.d3ac3927.js | 1 +
it/assets/js/1a8ad0a4.c13ab56b.js | 1 +
it/assets/js/1b42d13e.5f222a26.js | 1 +
it/assets/js/1eb08509.2960eca3.js | 1 +
it/assets/js/1fa927db.393978db.js | 1 +
it/assets/js/2001f5a3.86f5f8d7.js | 1 +
it/assets/js/2143.631f9abc.js | 1 +
it/assets/js/216bb117.26c78fdc.js | 1 +
it/assets/js/2237.4c917a91.js | 1 +
it/assets/js/242f78eb.6345085b.js | 1 +
it/assets/js/254b2403.94eb689b.js | 1 +
it/assets/js/2693.aae57f15.js | 2 +
it/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
it/assets/js/29cbc9f2.16215fd1.js | 1 +
it/assets/js/2b4d7750.d697f2b1.js | 1 +
it/assets/js/2b8ac573.0f3319e9.js | 1 +
it/assets/js/2d99bdd5.473ed408.js | 1 +
it/assets/js/2ee878c4.48b29304.js | 1 +
it/assets/js/3347.442b4917.js | 1 +
it/assets/js/3362e121.70333acb.js | 1 +
it/assets/js/3383d9b6.a9db993b.js | 1 +
it/assets/js/341dcb58.798a9672.js | 1 +
it/assets/js/348d08fd.4f4cf7a7.js | 1 +
it/assets/js/35d034a7.66e918c2.js | 1 +
it/assets/js/363ea885.6e4e4a84.js | 1 +
it/assets/js/36994c47.a0416590.js | 1 +
it/assets/js/385435d9.2225dbca.js | 1 +
it/assets/js/3866aad8.5b201315.js | 1 +
it/assets/js/394ffe0d.72cd50ce.js | 1 +
it/assets/js/3955.118925ae.js | 25 +
it/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
it/assets/js/39c27362.16518541.js | 1 +
it/assets/js/3b61a352.f7fc6943.js | 1 +
it/assets/js/4119121a.b9a49322.js | 1 +
it/assets/js/414386bc.df4692b2.js | 1 +
it/assets/js/416.ffc71866.js | 1 +
it/assets/js/44ba6932.847b42b0.js | 1 +
it/assets/js/4623f98c.bbc97156.js | 1 +
it/assets/js/4c0b32ec.df03d140.js | 1 +
it/assets/js/4df1a0b6.8754e389.js | 1 +
it/assets/js/543fa0e0.1ddb32d1.js | 1 +
it/assets/js/549280a3.7338c482.js | 1 +
it/assets/js/55623b7b.af6ef160.js | 1 +
it/assets/js/5947a66f.69ef6be6.js | 1 +
it/assets/js/5a5b8da9.6e8c78b9.js | 1 +
it/assets/js/5b470b41.b59e4e99.js | 1 +
it/assets/js/5c51564a.db9dcc5c.js | 1 +
it/assets/js/5e95c892.4d39f66c.js | 1 +
it/assets/js/5fa7e6fe.278b1108.js | 1 +
it/assets/js/6055d81c.66925334.js | 1 +
it/assets/js/621db11d.e8bb016f.js | 1 +
it/assets/js/6875c492.1b5dc22a.js | 1 +
it/assets/js/6e6a44ca.5edff23b.js | 1 +
it/assets/js/7e37206e.68dee4e3.js | 1 +
it/assets/js/7e8b57cf.9a7b5e8b.js | 1 +
it/assets/js/8007357f.3e5323b7.js | 1 +
it/assets/js/814f3328.6ccaa6e2.js | 1 +
it/assets/js/82e6689d.739b7736.js | 1 +
it/assets/js/84b787f8.2fa1ef39.js | 1 +
it/assets/js/8913.dcb61d6c.js | 1 +
it/assets/js/8a8421b7.2bcf2f58.js | 1 +
it/assets/js/8acdd010.ed2c3699.js | 1 +
it/assets/js/8e850191.98947fdf.js | 1 +
it/assets/js/8eb97536.de0c2bd3.js | 1 +
it/assets/js/95e92551.559944f1.js | 1 +
it/assets/js/9785.a386bbff.js | 1 +
it/assets/js/9841bbe2.54ab40f2.js | 1 +
it/assets/js/984702d2.8c13c90b.js | 1 +
it/assets/js/997d62d8.a6939d8c.js | 1 +
it/assets/js/9a6e1d35.ccd55dae.js | 1 +
it/assets/js/9bbad955.17dff550.js | 1 +
it/assets/js/9cc03d3f.87547c53.js | 1 +
it/assets/js/9e4087bc.9269875d.js | 1 +
it/assets/js/9e80b6c7.8413437b.js | 1 +
it/assets/js/9fd619fc.ba3fac55.js | 1 +
it/assets/js/a5c617e7.499cd554.js | 1 +
it/assets/js/a6aa9e1f.165a5b46.js | 1 +
it/assets/js/a7456010.4ce1f9e1.js | 1 +
it/assets/js/a7bd4aaa.fea2f11b.js | 1 +
it/assets/js/a84262ba.0bbe7e33.js | 1 +
it/assets/js/a9035f5e.e82a8e50.js | 1 +
it/assets/js/a923b35a.132ad442.js | 1 +
it/assets/js/a94703ab.c810baba.js | 1 +
it/assets/js/aaef9322.2f5a0ac2.js | 1 +
it/assets/js/aba21aa0.8989bbd3.js | 1 +
it/assets/js/abf515f4.a4967133.js | 1 +
it/assets/js/acecf23e.c70d82d4.js | 1 +
it/assets/js/af913d4d.b93183a2.js | 1 +
it/assets/js/b20383ec.b4ee8ff8.js | 1 +
it/assets/js/b39bcef9.d12bb2a1.js | 1 +
it/assets/js/b4cf867a.1516e51a.js | 1 +
it/assets/js/be2f46ee.c27b0614.js | 1 +
it/assets/js/c064ce67.7482c2b0.js | 1 +
it/assets/js/c141421f.266bc054.js | 1 +
it/assets/js/c1fafb54.f0c3196c.js | 1 +
it/assets/js/c4f5d8e4.d849bf54.js | 2 +
it/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
it/assets/js/c947b473.df31d9d5.js | 1 +
it/assets/js/ccc49370.dab9e754.js | 1 +
it/assets/js/ce665d67.eab1b0ea.js | 1 +
it/assets/js/d20717e1.3ec417b7.js | 1 +
it/assets/js/d3cbc07e.0e2823c8.js | 1 +
it/assets/js/d57dd930.c2268b95.js | 1 +
it/assets/js/d61db2a7.d0a213f1.js | 1 +
it/assets/js/d7fa5044.17518be2.js | 1 +
it/assets/js/d871efae.bb3f505a.js | 1 +
it/assets/js/d9701396.052da5f8.js | 1 +
it/assets/js/e34adc1b.c8afef9c.js | 1 +
it/assets/js/e5c0384d.1a94a66c.js | 1 +
it/assets/js/e74a79a5.95553122.js | 1 +
it/assets/js/eb122b3b.e43c9cd6.js | 1 +
it/assets/js/ed835519.49284f22.js | 1 +
it/assets/js/efdb0147.8190238e.js | 1 +
it/assets/js/f1843c88.46666a23.js | 1 +
it/assets/js/f37a31f8.2fcb83cb.js | 1 +
it/assets/js/f38cc700.141da0fd.js | 1 +
it/assets/js/f5b2f2bc.044ddf84.js | 1 +
it/assets/js/f8068863.be7f5295.js | 1 +
it/assets/js/fd9d9c89.1b90b4d4.js | 1 +
it/assets/js/fdc0f21c.ebbb9225.js | 1 +
it/assets/js/ff4d5818.c4a07d9c.js | 1 +
it/assets/js/main.e4910b0e.js | 2 +
it/assets/js/main.e4910b0e.js.LICENSE.txt | 51 +
it/assets/js/runtime~main.c9412314.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
it/blog/2018/08/27/node-casbin/index.html | 91 +
it/blog/2018/09/23/new-website/index.html | 90 +
it/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
it/blog/archive/index.html | 88 +
it/blog/atom.xml | 277 +++
it/blog/authors/index.html | 88 +
it/blog/casbin-2025-ai-agent-era/index.html | 123 ++
it/blog/index.html | 90 +
it/blog/rss.xml | 251 +++
it/blog/tags/ai/index.html | 88 +
it/blog/tags/casbin/index.html | 88 +
it/blog/tags/edge-computing/index.html | 88 +
it/blog/tags/index.html | 88 +
it/blog/tags/llm/index.html | 88 +
it/blog/tags/mcp/index.html | 88 +
it/blog/tags/roadmap/index.html | 88 +
it/casbin-editor/index.html | 29 +
it/data/users.json | 170 ++
it/docs/abac/index.html | 112 ++
it/docs/adapters/index.html | 180 ++
it/docs/admin-portal/index.html | 92 +
it/docs/adopters/index.html | 92 +
it/docs/api-overview/index.html | 154 ++
it/docs/benchmark/index.html | 93 +
it/docs/biba/index.html | 134 ++
it/docs/blp/index.html | 123 ++
it/docs/category/about--more/index.html | 88 +
it/docs/category/access-control-models/index.html | 88 +
it/docs/category/advanced-usage/index.html | 88 +
it/docs/category/api/index.html | 88 +
it/docs/category/basics/index.html | 88 +
it/docs/category/editors--tools/index.html | 88 +
it/docs/category/management/index.html | 88 +
it/docs/category/storage/index.html | 88 +
it/docs/category/use-cases/index.html | 88 +
it/docs/cloud-native/index.html | 90 +
it/docs/command-line-tools/index.html | 189 ++
it/docs/contributing/index.html | 130 ++
it/docs/data-permissions/index.html | 94 +
it/docs/dispatchers/index.html | 95 +
it/docs/effector/index.html | 103 +
it/docs/enforcers/index.html | 91 +
it/docs/envoy/index.html | 121 ++
it/docs/frontend/index.html | 138 ++
it/docs/function/index.html | 121 ++
it/docs/get-started/index.html | 108 ++
it/docs/graphql-middlewares/index.html | 92 +
it/docs/how-it-works/index.html | 125 ++
it/docs/ide-plugins/index.html | 97 +
it/docs/k8s-gatekeeper/index.html | 290 +++
it/docs/kong-authz/index.html | 157 ++
it/docs/lbac/index.html | 124 ++
it/docs/log-error/index.html | 119 ++
it/docs/mac-overview/index.html | 109 ++
it/docs/management-api/index.html | 383 ++++
it/docs/menu-permissions/index.html | 128 ++
it/docs/middlewares/index.html | 92 +
it/docs/model-storage/index.html | 101 +
it/docs/multi-threading/index.html | 89 +
it/docs/online-editor/index.html | 109 ++
it/docs/orbac/index.html | 121 ++
it/docs/overview/index.html | 114 ++
it/docs/pbac/index.html | 116 ++
it/docs/performance/index.html | 102 +
it/docs/plugins-overview/index.html | 105 +
it/docs/policy-storage/index.html | 107 ++
it/docs/policy-subset-loading/index.html | 92 +
it/docs/priority-model/index.html | 118 ++
it/docs/privacy-policy/index.html | 95 +
it/docs/rbac-96/index.html | 99 +
it/docs/rbac-api/index.html | 278 +++
it/docs/rbac-overview/index.html | 104 +
it/docs/rbac-with-conditions-api/index.html | 101 +
it/docs/rbac-with-conditions/index.html | 112 ++
it/docs/rbac-with-domains-api/index.html | 131 ++
it/docs/rbac-with-domains/index.html | 103 +
it/docs/rbac-with-pattern/index.html | 119 ++
it/docs/rbac/index.html | 116 ++
it/docs/rebac/index.html | 106 ++
it/docs/role-managers/index.html | 91 +
it/docs/rolemanager-api/index.html | 135 ++
it/docs/service/index.html | 89 +
it/docs/superadmin/index.html | 90 +
it/docs/supported-models/index.html | 110 ++
it/docs/syntax-for-models/index.html | 162 ++
it/docs/terms-of-service/index.html | 110 ++
it/docs/tutorials/index.html | 140 ++
it/docs/ucon/index.html | 139 ++
it/docs/watchers/index.html | 95 +
it/ecosystem/index.html | 88 +
it/editor/index.html | 88 +
it/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
it/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
it/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
it/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
it/gallery/index.html | 88 +
it/help/index.html | 88 +
it/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
it/img/background.png | Bin 0 -> 429128 bytes
it/img/blog/model.png | Bin 0 -> 823392 bytes
it/img/casbin.svg | 10 +
it/img/casbin_min.svg | 9 +
it/img/docusaurus.png | Bin 0 -> 5142 bytes
it/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
it/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
it/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
it/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
it/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
it/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
it/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
it/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
it/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
it/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
it/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
it/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
it/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
it/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
it/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
it/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
it/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
it/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
it/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
it/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
it/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
it/img/ecosystem/django.png | Bin 0 -> 3266 bytes
it/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
it/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
it/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
it/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
it/img/ecosystem/express.png | Bin 0 -> 2942 bytes
it/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
it/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
it/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
it/img/ecosystem/file.png | Bin 0 -> 2099 bytes
it/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
it/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
it/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
it/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
it/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
it/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
it/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
it/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
it/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
it/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
it/img/ecosystem/http.png | Bin 0 -> 2071 bytes
it/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
it/img/ecosystem/json.png | Bin 0 -> 2396 bytes
it/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
it/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
it/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
it/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
it/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
it/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
it/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
it/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
it/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
it/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
it/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
it/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
it/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
it/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
it/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
it/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
it/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
it/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
it/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
it/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
it/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
it/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
it/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
it/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
it/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
it/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
it/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
it/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
it/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
it/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
it/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
it/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
it/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
it/img/ecosystem/session.png | Bin 0 -> 3129 bytes
it/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
it/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
it/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
it/img/ecosystem/string.png | Bin 0 -> 5368 bytes
it/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
it/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
it/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
it/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
it/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
it/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
it/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
it/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
it/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
it/img/editor-ai.png | Bin 0 -> 271698 bytes
it/img/editor-endpoint.png | Bin 0 -> 57531 bytes
it/img/editor-engine.png | Bin 0 -> 105638 bytes
it/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
it/img/editor-tips.png | Bin 0 -> 12133 bytes
it/img/editor-upload.png | Bin 0 -> 36050 bytes
it/img/favicon.ico | Bin 0 -> 3626 bytes
it/img/favicon.png | Bin 0 -> 10527 bytes
it/img/github.png | Bin 0 -> 23729 bytes
it/img/langs/cpp.png | Bin 0 -> 21992 bytes
it/img/langs/delphi.png | Bin 0 -> 30246 bytes
it/img/langs/dotnet.png | Bin 0 -> 41524 bytes
it/img/langs/golang.png | Bin 0 -> 54614 bytes
it/img/langs/java.png | Bin 0 -> 16040 bytes
it/img/langs/nodejs.png | Bin 0 -> 27603 bytes
it/img/langs/php.png | Bin 0 -> 42168 bytes
it/img/langs/python.png | Bin 0 -> 20755 bytes
it/img/langs/rust.png | Bin 0 -> 8291 bytes
it/img/language-dark.png | Bin 0 -> 30816 bytes
it/img/language.png | Bin 0 -> 50757 bytes
it/img/language.svg | 710 +++++++
it/img/logo.svg | 1 +
it/img/model-dark.png | Bin 0 -> 21754 bytes
it/img/model.png | Bin 0 -> 8670 bytes
it/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
it/img/role.png | Bin 0 -> 78158 bytes
it/img/scale.png | Bin 0 -> 16385 bytes
it/img/storage-dark.png | Bin 0 -> 19568 bytes
it/img/storage.png | Bin 0 -> 26864 bytes
it/img/storage.svg | 477 +++++
it/img/store.png | Bin 0 -> 35459 bytes
it/img/store.svg | 2005 ++++++++++++++++++++
it/img/tutorial/acl.png | Bin 0 -> 633359 bytes
it/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
it/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
it/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
it/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
it/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
it/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
it/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
it/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
it/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
it/img/undraw_docusaurus_mountain.svg | 170 ++
it/img/undraw_docusaurus_react.svg | 169 ++
it/img/undraw_docusaurus_tree.svg | 1 +
it/img/users/360.png | Bin 0 -> 15651 bytes
it/img/users/alibaba.png | Bin 0 -> 160461 bytes
it/img/users/bose.png | Bin 0 -> 3360 bytes
it/img/users/bytebase.png | Bin 0 -> 11023 bytes
it/img/users/cisco.png | Bin 0 -> 10262 bytes
it/img/users/docker.png | Bin 0 -> 6192 bytes
it/img/users/elastic.png | Bin 0 -> 42387 bytes
it/img/users/eth.png | Bin 0 -> 46321 bytes
it/img/users/f5.png | Bin 0 -> 49662 bytes
it/img/users/honeywell.png | Bin 0 -> 57802 bytes
it/img/users/hpe.png | Bin 0 -> 32136 bytes
it/img/users/ibm.png | Bin 0 -> 24323 bytes
it/img/users/intel.png | Bin 0 -> 17619 bytes
it/img/users/jdlt.png | Bin 0 -> 13501 bytes
it/img/users/microsoft.png | Bin 0 -> 13325 bytes
it/img/users/musma.png | Bin 0 -> 9343 bytes
it/img/users/ontario.png | Bin 0 -> 38267 bytes
it/img/users/orange.png | Bin 0 -> 5217 bytes
it/img/users/pulsar.png | Bin 0 -> 8905 bytes
it/img/users/redhat.png | Bin 0 -> 33950 bytes
it/img/users/rspacex.png | Bin 0 -> 52166 bytes
it/img/users/se.png | Bin 0 -> 2963 bytes
it/img/users/siemens.png | Bin 0 -> 5285 bytes
it/img/users/t-mobile.png | Bin 0 -> 74117 bytes
it/img/users/tencent.png | Bin 0 -> 10932 bytes
it/img/users/verizon.png | Bin 0 -> 22526 bytes
it/img/users/vmware.png | Bin 0 -> 10251 bytes
it/img/users/zilliz.png | Bin 0 -> 7611 bytes
it/index.html | 88 +
it/js/clarity.js | 5 +
it/js/hotjar.js | 12 +
it/js/probe.js | 1 +
it/js/tawk.js | 9 +
it/opensearch.xml | 11 +
it/robots.txt | 2 +
it/search/index.html | 88 +
it/sitemap.xml | 1 +
it/users/index.html | 88 +
ja/.nojekyll | 0
ja/404.html | 88 +
ja/assets/css/styles.3a8ba2fe.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
ja/assets/js/00b52521.5e8da7ab.js | 1 +
ja/assets/js/017fbb09.66c63208.js | 1 +
ja/assets/js/01a85c17.dce7d51e.js | 1 +
ja/assets/js/05c313a8.77e2c5d7.js | 1 +
ja/assets/js/071013f9.c0b6c986.js | 1 +
ja/assets/js/0aa474be.79934dd1.js | 1 +
ja/assets/js/0cebedf5.fee5e823.js | 1 +
ja/assets/js/0d8f68bd.4ac77e5f.js | 1 +
ja/assets/js/0dbbe062.0b632628.js | 1 +
ja/assets/js/14cc354f.160a1b86.js | 1 +
ja/assets/js/14eb3368.ee36e5dc.js | 1 +
ja/assets/js/152391f0.2b520460.js | 1 +
ja/assets/js/17896441.1c55263e.js | 1 +
ja/assets/js/186863e3.7d21ff20.js | 1 +
ja/assets/js/19e6be12.80a3de3d.js | 1 +
ja/assets/js/1a14a398.98cbce92.js | 1 +
ja/assets/js/1a34f88f.ed217e43.js | 1 +
ja/assets/js/1a4e3797.607f840a.js | 1 +
ja/assets/js/1be0770e.80109d60.js | 1 +
ja/assets/js/1f98f4da.2e22c1d3.js | 1 +
ja/assets/js/2143.631f9abc.js | 1 +
ja/assets/js/2237.4c917a91.js | 1 +
ja/assets/js/23beb9ad.dcc335bf.js | 1 +
ja/assets/js/2693.aae57f15.js | 2 +
ja/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
ja/assets/js/2b582ba8.170e7bc3.js | 1 +
ja/assets/js/2fa25c41.d26ddc37.js | 1 +
ja/assets/js/30a39cf2.dbb39b29.js | 1 +
ja/assets/js/3347.442b4917.js | 1 +
ja/assets/js/3362e121.70333acb.js | 1 +
ja/assets/js/3580ef63.a4d24953.js | 1 +
ja/assets/js/35f8c82e.2a74496b.js | 1 +
ja/assets/js/36994c47.a0416590.js | 1 +
ja/assets/js/3955.118925ae.js | 25 +
ja/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
ja/assets/js/3adc164d.af69ad72.js | 1 +
ja/assets/js/3e2a3a54.b15a06d8.js | 1 +
ja/assets/js/3f1219c0.53deae07.js | 1 +
ja/assets/js/3fc3c3c1.252acae5.js | 1 +
ja/assets/js/416.ffc71866.js | 1 +
ja/assets/js/459aea13.5faa46f4.js | 1 +
ja/assets/js/46538019.b95e0119.js | 1 +
ja/assets/js/471af41d.d3ac36cb.js | 1 +
ja/assets/js/4945c1b9.3e5774f8.js | 1 +
ja/assets/js/4a4eea5f.6ac66c93.js | 1 +
ja/assets/js/4b49485e.5a31ed15.js | 1 +
ja/assets/js/4b580b10.041654bc.js | 1 +
ja/assets/js/4b6d2ea2.16bb20b6.js | 1 +
ja/assets/js/4cc383a0.6c6c9900.js | 1 +
ja/assets/js/5100042d.24ad4d3e.js | 1 +
ja/assets/js/5156988e.0f8fd16c.js | 1 +
ja/assets/js/5187147e.5101733b.js | 1 +
ja/assets/js/5283f078.263f0afe.js | 1 +
ja/assets/js/552023a2.614e1ff4.js | 1 +
ja/assets/js/554ff04e.08a848a8.js | 1 +
ja/assets/js/59f3ce7a.1d77f752.js | 1 +
ja/assets/js/5ab5fcb5.118b52fe.js | 1 +
ja/assets/js/5c34d1b5.574475dc.js | 1 +
ja/assets/js/5e95c892.4d39f66c.js | 1 +
ja/assets/js/621db11d.f969706e.js | 1 +
ja/assets/js/622daf2a.50700d76.js | 1 +
ja/assets/js/623bad1d.2c53bfec.js | 1 +
ja/assets/js/6398b9ce.86f0b05b.js | 1 +
ja/assets/js/63f73d91.672bb72e.js | 1 +
ja/assets/js/66e7a21a.36c14816.js | 1 +
ja/assets/js/6875c492.1b5dc22a.js | 1 +
ja/assets/js/6cb96970.efadecbe.js | 1 +
ja/assets/js/6ce312c5.13a41a1a.js | 1 +
ja/assets/js/733708ab.483ea63f.js | 1 +
ja/assets/js/7911e77e.9c51ea87.js | 1 +
ja/assets/js/79d50e11.875a3cd0.js | 1 +
ja/assets/js/7e37206e.68dee4e3.js | 1 +
ja/assets/js/7fd83270.9731d597.js | 1 +
ja/assets/js/814f3328.2e1ddcb1.js | 1 +
ja/assets/js/82c68d8d.5bd714d7.js | 1 +
ja/assets/js/85a5d4fc.db46315f.js | 1 +
ja/assets/js/88b5242b.de9725d2.js | 1 +
ja/assets/js/8913.dcb61d6c.js | 1 +
ja/assets/js/8d8f3a2e.74ecc85e.js | 1 +
ja/assets/js/95e91fdc.1aa762a1.js | 1 +
ja/assets/js/9785.a386bbff.js | 1 +
ja/assets/js/9a941e96.de9a6cc0.js | 1 +
ja/assets/js/9cccfb85.b4128a49.js | 1 +
ja/assets/js/9dff668a.fc112b6e.js | 1 +
ja/assets/js/9e0be6c4.cf3a0d80.js | 1 +
ja/assets/js/9e4087bc.9269875d.js | 1 +
ja/assets/js/9f8b21b6.61d27bf2.js | 1 +
ja/assets/js/a2325220.a7468bbb.js | 1 +
ja/assets/js/a59e1cdd.248b9c54.js | 1 +
ja/assets/js/a5db3d7c.a597d7b6.js | 1 +
ja/assets/js/a6aa9e1f.165a5b46.js | 1 +
ja/assets/js/a7456010.4ce1f9e1.js | 1 +
ja/assets/js/a7a304cf.c0dd2530.js | 1 +
ja/assets/js/a7bd4aaa.fea2f11b.js | 1 +
ja/assets/js/a904b8e3.06f0f418.js | 1 +
ja/assets/js/a94703ab.c810baba.js | 1 +
ja/assets/js/aba21aa0.8989bbd3.js | 1 +
ja/assets/js/abeef3f5.fd3d401d.js | 1 +
ja/assets/js/acecf23e.a257264d.js | 1 +
ja/assets/js/af4e6ae2.1c722b7c.js | 1 +
ja/assets/js/af913d4d.b93183a2.js | 1 +
ja/assets/js/b2a9b6be.1b96c328.js | 1 +
ja/assets/js/bc695c0e.9116865f.js | 1 +
ja/assets/js/bdfdbe68.f4d413c2.js | 1 +
ja/assets/js/bf9a8b53.cf038043.js | 1 +
ja/assets/js/c141421f.266bc054.js | 1 +
ja/assets/js/c3a11017.838a5727.js | 1 +
ja/assets/js/c4f5d8e4.d849bf54.js | 2 +
ja/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
ja/assets/js/ccc49370.dab9e754.js | 1 +
ja/assets/js/cd3e4707.cbbb5ee1.js | 1 +
ja/assets/js/d1936ac9.67135c5d.js | 1 +
ja/assets/js/d4ca7789.0aac9655.js | 1 +
ja/assets/js/db23bb93.e3ea95d6.js | 1 +
ja/assets/js/dc68e029.154777ad.js | 1 +
ja/assets/js/dd155984.28961044.js | 1 +
ja/assets/js/e74a79a5.95553122.js | 1 +
ja/assets/js/e87fa62e.445b8815.js | 1 +
ja/assets/js/e8a42606.fd1f77cd.js | 1 +
ja/assets/js/eb37c31f.0ea7bc39.js | 1 +
ja/assets/js/ed63679d.9590390d.js | 1 +
ja/assets/js/ed977728.3c4f991f.js | 1 +
ja/assets/js/ef01540c.5c528d1f.js | 1 +
ja/assets/js/f08eb4a5.98c70856.js | 1 +
ja/assets/js/f2539ddc.262c8208.js | 1 +
ja/assets/js/f4ddbc6f.86334980.js | 1 +
ja/assets/js/f527a7dd.74a5c138.js | 1 +
ja/assets/js/f80f5b7b.2b8fc046.js | 1 +
ja/assets/js/fc3e0b02.dbe6784e.js | 1 +
ja/assets/js/fd9d9c89.1b90b4d4.js | 1 +
ja/assets/js/fe12d906.fe3d8103.js | 1 +
ja/assets/js/fefc29be.b8341729.js | 1 +
ja/assets/js/main.644f7fdf.js | 2 +
ja/assets/js/main.644f7fdf.js.LICENSE.txt | 51 +
ja/assets/js/runtime~main.73cdd922.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
ja/blog/2018/08/27/node-casbin/index.html | 91 +
ja/blog/2018/09/23/new-website/index.html | 90 +
ja/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
ja/blog/archive/index.html | 88 +
ja/blog/atom.xml | 277 +++
ja/blog/authors/index.html | 88 +
ja/blog/casbin-2025-ai-agent-era/index.html | 123 ++
ja/blog/index.html | 90 +
ja/blog/rss.xml | 251 +++
ja/blog/tags/ai/index.html | 88 +
ja/blog/tags/casbin/index.html | 88 +
ja/blog/tags/edge-computing/index.html | 88 +
ja/blog/tags/index.html | 88 +
ja/blog/tags/llm/index.html | 88 +
ja/blog/tags/mcp/index.html | 88 +
ja/blog/tags/roadmap/index.html | 88 +
ja/casbin-editor/index.html | 29 +
ja/data/users.json | 170 ++
ja/docs/abac/index.html | 112 ++
ja/docs/adapters/index.html | 178 ++
ja/docs/admin-portal/index.html | 92 +
ja/docs/adopters/index.html | 92 +
ja/docs/api-overview/index.html | 154 ++
ja/docs/benchmark/index.html | 93 +
ja/docs/biba/index.html | 134 ++
ja/docs/blp/index.html | 123 ++
ja/docs/category/about--more/index.html | 88 +
ja/docs/category/access-control-models/index.html | 88 +
ja/docs/category/advanced-usage/index.html | 88 +
ja/docs/category/api/index.html | 88 +
ja/docs/category/basics/index.html | 88 +
ja/docs/category/editors--tools/index.html | 88 +
ja/docs/category/management/index.html | 88 +
ja/docs/category/storage/index.html | 88 +
ja/docs/category/use-cases/index.html | 88 +
ja/docs/cloud-native/index.html | 90 +
ja/docs/command-line-tools/index.html | 189 ++
ja/docs/contributing/index.html | 130 ++
ja/docs/data-permissions/index.html | 94 +
ja/docs/dispatchers/index.html | 95 +
ja/docs/effector/index.html | 103 +
ja/docs/enforcers/index.html | 91 +
ja/docs/envoy/index.html | 121 ++
ja/docs/frontend/index.html | 138 ++
ja/docs/function/index.html | 121 ++
ja/docs/get-started/index.html | 108 ++
ja/docs/graphql-middlewares/index.html | 92 +
ja/docs/how-it-works/index.html | 125 ++
ja/docs/ide-plugins/index.html | 97 +
ja/docs/k8s-gatekeeper/index.html | 290 +++
ja/docs/kong-authz/index.html | 157 ++
ja/docs/lbac/index.html | 124 ++
ja/docs/log-error/index.html | 119 ++
ja/docs/mac-overview/index.html | 109 ++
ja/docs/management-api/index.html | 383 ++++
ja/docs/menu-permissions/index.html | 128 ++
ja/docs/middlewares/index.html | 92 +
ja/docs/model-storage/index.html | 101 +
ja/docs/multi-threading/index.html | 89 +
ja/docs/online-editor/index.html | 109 ++
ja/docs/orbac/index.html | 121 ++
ja/docs/overview/index.html | 114 ++
ja/docs/pbac/index.html | 116 ++
ja/docs/performance/index.html | 102 +
ja/docs/plugins-overview/index.html | 105 +
ja/docs/policy-storage/index.html | 107 ++
ja/docs/policy-subset-loading/index.html | 92 +
ja/docs/priority-model/index.html | 118 ++
ja/docs/privacy-policy/index.html | 95 +
ja/docs/rbac-96/index.html | 99 +
ja/docs/rbac-api/index.html | 278 +++
ja/docs/rbac-overview/index.html | 104 +
ja/docs/rbac-with-conditions-api/index.html | 101 +
ja/docs/rbac-with-conditions/index.html | 112 ++
ja/docs/rbac-with-domains-api/index.html | 131 ++
ja/docs/rbac-with-domains/index.html | 103 +
ja/docs/rbac-with-pattern/index.html | 119 ++
ja/docs/rbac/index.html | 116 ++
ja/docs/rebac/index.html | 106 ++
ja/docs/role-managers/index.html | 91 +
ja/docs/rolemanager-api/index.html | 135 ++
ja/docs/service/index.html | 89 +
ja/docs/superadmin/index.html | 90 +
ja/docs/supported-models/index.html | 110 ++
ja/docs/syntax-for-models/index.html | 162 ++
ja/docs/terms-of-service/index.html | 110 ++
ja/docs/tutorials/index.html | 140 ++
ja/docs/ucon/index.html | 139 ++
ja/docs/watchers/index.html | 95 +
ja/ecosystem/index.html | 88 +
ja/editor/index.html | 88 +
ja/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
ja/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
ja/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
ja/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
ja/gallery/index.html | 88 +
ja/help/index.html | 88 +
ja/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
ja/img/background.png | Bin 0 -> 429128 bytes
ja/img/blog/model.png | Bin 0 -> 823392 bytes
ja/img/casbin.svg | 10 +
ja/img/casbin_min.svg | 9 +
ja/img/docusaurus.png | Bin 0 -> 5142 bytes
ja/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
ja/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
ja/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
ja/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
ja/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
ja/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
ja/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
ja/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
ja/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
ja/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
ja/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
ja/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
ja/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
ja/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
ja/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
ja/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
ja/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
ja/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
ja/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
ja/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
ja/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
ja/img/ecosystem/django.png | Bin 0 -> 3266 bytes
ja/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
ja/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
ja/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
ja/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
ja/img/ecosystem/express.png | Bin 0 -> 2942 bytes
ja/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
ja/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
ja/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
ja/img/ecosystem/file.png | Bin 0 -> 2099 bytes
ja/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
ja/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
ja/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
ja/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
ja/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
ja/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
ja/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
ja/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
ja/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
ja/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
ja/img/ecosystem/http.png | Bin 0 -> 2071 bytes
ja/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
ja/img/ecosystem/json.png | Bin 0 -> 2396 bytes
ja/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
ja/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
ja/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
ja/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
ja/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
ja/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
ja/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
ja/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
ja/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
ja/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
ja/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
ja/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
ja/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
ja/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
ja/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
ja/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
ja/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
ja/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
ja/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
ja/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
ja/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
ja/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
ja/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
ja/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
ja/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
ja/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
ja/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
ja/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
ja/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
ja/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
ja/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
ja/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
ja/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
ja/img/ecosystem/session.png | Bin 0 -> 3129 bytes
ja/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
ja/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
ja/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
ja/img/ecosystem/string.png | Bin 0 -> 5368 bytes
ja/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
ja/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
ja/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
ja/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
ja/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
ja/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
ja/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
ja/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
ja/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
ja/img/editor-ai.png | Bin 0 -> 271698 bytes
ja/img/editor-endpoint.png | Bin 0 -> 57531 bytes
ja/img/editor-engine.png | Bin 0 -> 105638 bytes
ja/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
ja/img/editor-tips.png | Bin 0 -> 12133 bytes
ja/img/editor-upload.png | Bin 0 -> 36050 bytes
ja/img/favicon.ico | Bin 0 -> 3626 bytes
ja/img/favicon.png | Bin 0 -> 10527 bytes
ja/img/github.png | Bin 0 -> 23729 bytes
ja/img/langs/cpp.png | Bin 0 -> 21992 bytes
ja/img/langs/delphi.png | Bin 0 -> 30246 bytes
ja/img/langs/dotnet.png | Bin 0 -> 41524 bytes
ja/img/langs/golang.png | Bin 0 -> 54614 bytes
ja/img/langs/java.png | Bin 0 -> 16040 bytes
ja/img/langs/nodejs.png | Bin 0 -> 27603 bytes
ja/img/langs/php.png | Bin 0 -> 42168 bytes
ja/img/langs/python.png | Bin 0 -> 20755 bytes
ja/img/langs/rust.png | Bin 0 -> 8291 bytes
ja/img/language-dark.png | Bin 0 -> 30816 bytes
ja/img/language.png | Bin 0 -> 50757 bytes
ja/img/language.svg | 710 +++++++
ja/img/logo.svg | 1 +
ja/img/model-dark.png | Bin 0 -> 21754 bytes
ja/img/model.png | Bin 0 -> 8670 bytes
ja/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
ja/img/role.png | Bin 0 -> 78158 bytes
ja/img/scale.png | Bin 0 -> 16385 bytes
ja/img/storage-dark.png | Bin 0 -> 19568 bytes
ja/img/storage.png | Bin 0 -> 26864 bytes
ja/img/storage.svg | 477 +++++
ja/img/store.png | Bin 0 -> 35459 bytes
ja/img/store.svg | 2005 ++++++++++++++++++++
ja/img/tutorial/acl.png | Bin 0 -> 633359 bytes
ja/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
ja/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
ja/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
ja/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
ja/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
ja/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
ja/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
ja/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
ja/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
ja/img/undraw_docusaurus_mountain.svg | 170 ++
ja/img/undraw_docusaurus_react.svg | 169 ++
ja/img/undraw_docusaurus_tree.svg | 1 +
ja/img/users/360.png | Bin 0 -> 15651 bytes
ja/img/users/alibaba.png | Bin 0 -> 160461 bytes
ja/img/users/bose.png | Bin 0 -> 3360 bytes
ja/img/users/bytebase.png | Bin 0 -> 11023 bytes
ja/img/users/cisco.png | Bin 0 -> 10262 bytes
ja/img/users/docker.png | Bin 0 -> 6192 bytes
ja/img/users/elastic.png | Bin 0 -> 42387 bytes
ja/img/users/eth.png | Bin 0 -> 46321 bytes
ja/img/users/f5.png | Bin 0 -> 49662 bytes
ja/img/users/honeywell.png | Bin 0 -> 57802 bytes
ja/img/users/hpe.png | Bin 0 -> 32136 bytes
ja/img/users/ibm.png | Bin 0 -> 24323 bytes
ja/img/users/intel.png | Bin 0 -> 17619 bytes
ja/img/users/jdlt.png | Bin 0 -> 13501 bytes
ja/img/users/microsoft.png | Bin 0 -> 13325 bytes
ja/img/users/musma.png | Bin 0 -> 9343 bytes
ja/img/users/ontario.png | Bin 0 -> 38267 bytes
ja/img/users/orange.png | Bin 0 -> 5217 bytes
ja/img/users/pulsar.png | Bin 0 -> 8905 bytes
ja/img/users/redhat.png | Bin 0 -> 33950 bytes
ja/img/users/rspacex.png | Bin 0 -> 52166 bytes
ja/img/users/se.png | Bin 0 -> 2963 bytes
ja/img/users/siemens.png | Bin 0 -> 5285 bytes
ja/img/users/t-mobile.png | Bin 0 -> 74117 bytes
ja/img/users/tencent.png | Bin 0 -> 10932 bytes
ja/img/users/verizon.png | Bin 0 -> 22526 bytes
ja/img/users/vmware.png | Bin 0 -> 10251 bytes
ja/img/users/zilliz.png | Bin 0 -> 7611 bytes
ja/index.html | 88 +
ja/js/clarity.js | 5 +
ja/js/hotjar.js | 12 +
ja/js/probe.js | 1 +
ja/js/tawk.js | 9 +
ja/opensearch.xml | 11 +
ja/robots.txt | 2 +
ja/search/index.html | 88 +
ja/sitemap.xml | 1 +
ja/users/index.html | 88 +
js/clarity.js | 5 +
js/hotjar.js | 12 +
js/probe.js | 1 +
js/tawk.js | 9 +
ko/.nojekyll | 0
ko/404.html | 88 +
ko/assets/css/styles.e3e64820.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
ko/assets/js/01a85c17.dce7d51e.js | 1 +
ko/assets/js/01b80bf5.bb7a364e.js | 1 +
ko/assets/js/031780a5.bac66baf.js | 1 +
ko/assets/js/03fc9a3c.1f89d01b.js | 1 +
ko/assets/js/08e611ad.4f7aa45c.js | 1 +
ko/assets/js/0edb1856.0e2b061a.js | 1 +
ko/assets/js/117671ab.cca7cfb4.js | 1 +
ko/assets/js/14eb3368.ee36e5dc.js | 1 +
ko/assets/js/16cdfb49.340a2407.js | 1 +
ko/assets/js/17896441.1c55263e.js | 1 +
ko/assets/js/186863e3.7d21ff20.js | 1 +
ko/assets/js/18752ff5.2d163cb3.js | 1 +
ko/assets/js/19421601.518662f0.js | 1 +
ko/assets/js/1a1d1d86.417c3598.js | 1 +
ko/assets/js/1a4e3797.607f840a.js | 1 +
ko/assets/js/1d8af8ce.8629b9db.js | 1 +
ko/assets/js/1f502eb8.63f8c994.js | 1 +
ko/assets/js/205a579c.269c18a0.js | 1 +
ko/assets/js/2143.631f9abc.js | 1 +
ko/assets/js/214cb32d.6d8377f0.js | 1 +
ko/assets/js/21cea3af.499dd917.js | 1 +
ko/assets/js/2231f6ac.4f4f548f.js | 1 +
ko/assets/js/2237.4c917a91.js | 1 +
ko/assets/js/252e5545.a9a6b0a1.js | 1 +
ko/assets/js/2693.aae57f15.js | 2 +
ko/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
ko/assets/js/3347.442b4917.js | 1 +
ko/assets/js/3362e121.70333acb.js | 1 +
ko/assets/js/33ec1ff9.35d0adbd.js | 1 +
ko/assets/js/35d60f35.686e8528.js | 1 +
ko/assets/js/35ea6459.0704d867.js | 1 +
ko/assets/js/366e2b37.a774a913.js | 1 +
ko/assets/js/36994c47.a0416590.js | 1 +
ko/assets/js/3955.118925ae.js | 25 +
ko/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
ko/assets/js/3a6c3a38.535816f9.js | 1 +
ko/assets/js/3ca8ca54.796bbf8d.js | 1 +
ko/assets/js/3ccd08e3.bc792fd2.js | 1 +
ko/assets/js/3e014d13.98ec998f.js | 1 +
ko/assets/js/3e8ea99f.ef5ae90b.js | 1 +
ko/assets/js/3fb08f48.a8ba950a.js | 1 +
ko/assets/js/4116f974.41f2e346.js | 1 +
ko/assets/js/416.ffc71866.js | 1 +
ko/assets/js/46d4c535.915edbb6.js | 1 +
ko/assets/js/485bacb6.298a9002.js | 1 +
ko/assets/js/492d0155.5dbc8a90.js | 1 +
ko/assets/js/4a2f113b.5792150e.js | 1 +
ko/assets/js/4acc1210.5f02ac7a.js | 1 +
ko/assets/js/4cdda172.aaac7f53.js | 1 +
ko/assets/js/4df82baa.a3339f74.js | 1 +
ko/assets/js/55d35bce.53766d46.js | 1 +
ko/assets/js/5792dc0a.c4b0d093.js | 1 +
ko/assets/js/5c2d8bdb.85eca74f.js | 1 +
ko/assets/js/5d405276.02dfd2b4.js | 1 +
ko/assets/js/5e95c892.4d39f66c.js | 1 +
ko/assets/js/617387ad.3781d7e6.js | 1 +
ko/assets/js/621db11d.e8bb016f.js | 1 +
ko/assets/js/6431f5e8.0e0c7e88.js | 1 +
ko/assets/js/653336e3.ecb63c24.js | 1 +
ko/assets/js/66767b55.2eba6b61.js | 1 +
ko/assets/js/6875c492.1b5dc22a.js | 1 +
ko/assets/js/68957e9c.9c11dfbd.js | 1 +
ko/assets/js/6aa772c3.9f6bb973.js | 1 +
ko/assets/js/6da89748.9256ab39.js | 1 +
ko/assets/js/6daa16c5.080390e0.js | 1 +
ko/assets/js/71521ad7.3fe54849.js | 1 +
ko/assets/js/75e88ea6.804b06fe.js | 1 +
ko/assets/js/79884ccd.2fb94bd3.js | 1 +
ko/assets/js/7afd9f41.c0d725aa.js | 1 +
ko/assets/js/7e1c6d1d.27b0b572.js | 1 +
ko/assets/js/7e37206e.68dee4e3.js | 1 +
ko/assets/js/7f332c82.a7f334f6.js | 1 +
ko/assets/js/814f3328.6a57382b.js | 1 +
ko/assets/js/8186480d.b8690da2.js | 1 +
ko/assets/js/83dbd4fd.dc867c92.js | 1 +
ko/assets/js/8913.dcb61d6c.js | 1 +
ko/assets/js/8b80046f.6a2e3a3d.js | 1 +
ko/assets/js/8e9bf139.54942238.js | 1 +
ko/assets/js/8eeb5750.b1f4602e.js | 1 +
ko/assets/js/933a551a.b457fdce.js | 1 +
ko/assets/js/95009011.21d584a7.js | 1 +
ko/assets/js/951a279f.1e779641.js | 1 +
ko/assets/js/96a42d4a.2b811ebc.js | 1 +
ko/assets/js/9785.a386bbff.js | 1 +
ko/assets/js/9d51ede4.36e9cca6.js | 1 +
ko/assets/js/9e4087bc.9269875d.js | 1 +
ko/assets/js/a2b5a152.e3398ac6.js | 1 +
ko/assets/js/a45f79a5.edb8c1b3.js | 1 +
ko/assets/js/a497f7f5.c6c0165e.js | 1 +
ko/assets/js/a59c4e63.a8c885be.js | 1 +
ko/assets/js/a6aa9e1f.165a5b46.js | 1 +
ko/assets/js/a722868f.811744bd.js | 1 +
ko/assets/js/a7456010.4ce1f9e1.js | 1 +
ko/assets/js/a7bd4aaa.fea2f11b.js | 1 +
ko/assets/js/a94703ab.c810baba.js | 1 +
ko/assets/js/a9560e99.fc51ec73.js | 1 +
ko/assets/js/a9d9a126.91808007.js | 1 +
ko/assets/js/ab5f73b2.ef72eb11.js | 1 +
ko/assets/js/aba21aa0.8989bbd3.js | 1 +
ko/assets/js/abc6f1e9.6aea6532.js | 1 +
ko/assets/js/acecf23e.75183a01.js | 1 +
ko/assets/js/af913d4d.b93183a2.js | 1 +
ko/assets/js/b0992c06.9bec8c6f.js | 1 +
ko/assets/js/b6a60845.84fb4e61.js | 1 +
ko/assets/js/b6bb764a.69031056.js | 1 +
ko/assets/js/b77d266d.fac9db46.js | 1 +
ko/assets/js/b79bb32d.d5c89ee0.js | 1 +
ko/assets/js/bc855f8f.6d38c2cf.js | 1 +
ko/assets/js/c141421f.266bc054.js | 1 +
ko/assets/js/c4f5d8e4.d849bf54.js | 2 +
ko/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
ko/assets/js/c64a3b83.58dfe3d0.js | 1 +
ko/assets/js/c699eb95.0e26b78f.js | 1 +
ko/assets/js/c98668c9.5d155d4d.js | 1 +
ko/assets/js/ccc49370.dab9e754.js | 1 +
ko/assets/js/d0f7ffa8.df91bf40.js | 1 +
ko/assets/js/d2db9d6c.ddf8655e.js | 1 +
ko/assets/js/d4fb1a5d.1fa4f53a.js | 1 +
ko/assets/js/d92a2f09.4e00b77b.js | 1 +
ko/assets/js/d96f1a22.33899001.js | 1 +
ko/assets/js/dc7bf459.79a32ed7.js | 1 +
ko/assets/js/dcad3590.565c0a21.js | 1 +
ko/assets/js/e174b9d8.3af8894e.js | 1 +
ko/assets/js/e5563f91.56dc23c3.js | 1 +
ko/assets/js/e74a79a5.95553122.js | 1 +
ko/assets/js/e989b5df.15b546e4.js | 1 +
ko/assets/js/ea585fdc.778dee98.js | 1 +
ko/assets/js/ec991c01.25139bf8.js | 1 +
ko/assets/js/f16ffb91.84825d8d.js | 1 +
ko/assets/js/fb5f53b6.ac77fc14.js | 1 +
ko/assets/js/fc9edee0.546204db.js | 1 +
ko/assets/js/fd9d9c89.1b90b4d4.js | 1 +
ko/assets/js/main.fd37688a.js | 2 +
ko/assets/js/main.fd37688a.js.LICENSE.txt | 51 +
ko/assets/js/runtime~main.140b2fed.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
ko/blog/2018/08/27/node-casbin/index.html | 91 +
ko/blog/2018/09/23/new-website/index.html | 90 +
ko/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
ko/blog/archive/index.html | 88 +
ko/blog/atom.xml | 277 +++
ko/blog/authors/index.html | 88 +
ko/blog/casbin-2025-ai-agent-era/index.html | 123 ++
ko/blog/index.html | 90 +
ko/blog/rss.xml | 251 +++
ko/blog/tags/ai/index.html | 88 +
ko/blog/tags/casbin/index.html | 88 +
ko/blog/tags/edge-computing/index.html | 88 +
ko/blog/tags/index.html | 88 +
ko/blog/tags/llm/index.html | 88 +
ko/blog/tags/mcp/index.html | 88 +
ko/blog/tags/roadmap/index.html | 88 +
ko/casbin-editor/index.html | 29 +
ko/data/users.json | 170 ++
ko/docs/abac/index.html | 112 ++
ko/docs/adapters/index.html | 178 ++
ko/docs/admin-portal/index.html | 92 +
ko/docs/adopters/index.html | 92 +
ko/docs/api-overview/index.html | 154 ++
ko/docs/benchmark/index.html | 93 +
ko/docs/biba/index.html | 134 ++
ko/docs/blp/index.html | 123 ++
ko/docs/category/about--more/index.html | 88 +
ko/docs/category/access-control-models/index.html | 88 +
ko/docs/category/advanced-usage/index.html | 88 +
ko/docs/category/api/index.html | 88 +
ko/docs/category/basics/index.html | 88 +
ko/docs/category/editors--tools/index.html | 88 +
ko/docs/category/management/index.html | 88 +
ko/docs/category/storage/index.html | 88 +
ko/docs/category/use-cases/index.html | 88 +
ko/docs/cloud-native/index.html | 90 +
ko/docs/command-line-tools/index.html | 189 ++
ko/docs/contributing/index.html | 130 ++
ko/docs/data-permissions/index.html | 94 +
ko/docs/dispatchers/index.html | 95 +
ko/docs/effector/index.html | 103 +
ko/docs/enforcers/index.html | 91 +
ko/docs/envoy/index.html | 121 ++
ko/docs/frontend/index.html | 138 ++
ko/docs/function/index.html | 121 ++
ko/docs/get-started/index.html | 108 ++
ko/docs/graphql-middlewares/index.html | 92 +
ko/docs/how-it-works/index.html | 125 ++
ko/docs/ide-plugins/index.html | 97 +
ko/docs/k8s-gatekeeper/index.html | 290 +++
ko/docs/kong-authz/index.html | 157 ++
ko/docs/lbac/index.html | 124 ++
ko/docs/log-error/index.html | 119 ++
ko/docs/mac-overview/index.html | 109 ++
ko/docs/management-api/index.html | 383 ++++
ko/docs/menu-permissions/index.html | 128 ++
ko/docs/middlewares/index.html | 92 +
ko/docs/model-storage/index.html | 101 +
ko/docs/multi-threading/index.html | 89 +
ko/docs/online-editor/index.html | 109 ++
ko/docs/orbac/index.html | 121 ++
ko/docs/overview/index.html | 114 ++
ko/docs/pbac/index.html | 116 ++
ko/docs/performance/index.html | 102 +
ko/docs/plugins-overview/index.html | 105 +
ko/docs/policy-storage/index.html | 107 ++
ko/docs/policy-subset-loading/index.html | 92 +
ko/docs/priority-model/index.html | 118 ++
ko/docs/privacy-policy/index.html | 95 +
ko/docs/rbac-96/index.html | 99 +
ko/docs/rbac-api/index.html | 278 +++
ko/docs/rbac-overview/index.html | 104 +
ko/docs/rbac-with-conditions-api/index.html | 101 +
ko/docs/rbac-with-conditions/index.html | 112 ++
ko/docs/rbac-with-domains-api/index.html | 131 ++
ko/docs/rbac-with-domains/index.html | 103 +
ko/docs/rbac-with-pattern/index.html | 119 ++
ko/docs/rbac/index.html | 116 ++
ko/docs/rebac/index.html | 106 ++
ko/docs/role-managers/index.html | 91 +
ko/docs/rolemanager-api/index.html | 135 ++
ko/docs/service/index.html | 89 +
ko/docs/superadmin/index.html | 90 +
ko/docs/supported-models/index.html | 110 ++
ko/docs/syntax-for-models/index.html | 162 ++
ko/docs/terms-of-service/index.html | 110 ++
ko/docs/tutorials/index.html | 140 ++
ko/docs/ucon/index.html | 139 ++
ko/docs/watchers/index.html | 95 +
ko/ecosystem/index.html | 88 +
ko/editor/index.html | 88 +
ko/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
ko/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
ko/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
ko/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
ko/gallery/index.html | 88 +
ko/help/index.html | 88 +
ko/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
ko/img/background.png | Bin 0 -> 429128 bytes
ko/img/blog/model.png | Bin 0 -> 823392 bytes
ko/img/casbin.svg | 10 +
ko/img/casbin_min.svg | 9 +
ko/img/docusaurus.png | Bin 0 -> 5142 bytes
ko/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
ko/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
ko/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
ko/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
ko/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
ko/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
ko/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
ko/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
ko/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
ko/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
ko/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
ko/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
ko/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
ko/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
ko/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
ko/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
ko/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
ko/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
ko/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
ko/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
ko/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
ko/img/ecosystem/django.png | Bin 0 -> 3266 bytes
ko/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
ko/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
ko/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
ko/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
ko/img/ecosystem/express.png | Bin 0 -> 2942 bytes
ko/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
ko/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
ko/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
ko/img/ecosystem/file.png | Bin 0 -> 2099 bytes
ko/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
ko/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
ko/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
ko/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
ko/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
ko/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
ko/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
ko/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
ko/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
ko/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
ko/img/ecosystem/http.png | Bin 0 -> 2071 bytes
ko/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
ko/img/ecosystem/json.png | Bin 0 -> 2396 bytes
ko/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
ko/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
ko/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
ko/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
ko/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
ko/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
ko/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
ko/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
ko/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
ko/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
ko/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
ko/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
ko/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
ko/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
ko/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
ko/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
ko/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
ko/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
ko/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
ko/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
ko/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
ko/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
ko/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
ko/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
ko/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
ko/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
ko/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
ko/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
ko/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
ko/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
ko/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
ko/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
ko/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
ko/img/ecosystem/session.png | Bin 0 -> 3129 bytes
ko/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
ko/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
ko/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
ko/img/ecosystem/string.png | Bin 0 -> 5368 bytes
ko/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
ko/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
ko/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
ko/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
ko/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
ko/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
ko/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
ko/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
ko/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
ko/img/editor-ai.png | Bin 0 -> 271698 bytes
ko/img/editor-endpoint.png | Bin 0 -> 57531 bytes
ko/img/editor-engine.png | Bin 0 -> 105638 bytes
ko/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
ko/img/editor-tips.png | Bin 0 -> 12133 bytes
ko/img/editor-upload.png | Bin 0 -> 36050 bytes
ko/img/favicon.ico | Bin 0 -> 3626 bytes
ko/img/favicon.png | Bin 0 -> 10527 bytes
ko/img/github.png | Bin 0 -> 23729 bytes
ko/img/langs/cpp.png | Bin 0 -> 21992 bytes
ko/img/langs/delphi.png | Bin 0 -> 30246 bytes
ko/img/langs/dotnet.png | Bin 0 -> 41524 bytes
ko/img/langs/golang.png | Bin 0 -> 54614 bytes
ko/img/langs/java.png | Bin 0 -> 16040 bytes
ko/img/langs/nodejs.png | Bin 0 -> 27603 bytes
ko/img/langs/php.png | Bin 0 -> 42168 bytes
ko/img/langs/python.png | Bin 0 -> 20755 bytes
ko/img/langs/rust.png | Bin 0 -> 8291 bytes
ko/img/language-dark.png | Bin 0 -> 30816 bytes
ko/img/language.png | Bin 0 -> 50757 bytes
ko/img/language.svg | 710 +++++++
ko/img/logo.svg | 1 +
ko/img/model-dark.png | Bin 0 -> 21754 bytes
ko/img/model.png | Bin 0 -> 8670 bytes
ko/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
ko/img/role.png | Bin 0 -> 78158 bytes
ko/img/scale.png | Bin 0 -> 16385 bytes
ko/img/storage-dark.png | Bin 0 -> 19568 bytes
ko/img/storage.png | Bin 0 -> 26864 bytes
ko/img/storage.svg | 477 +++++
ko/img/store.png | Bin 0 -> 35459 bytes
ko/img/store.svg | 2005 ++++++++++++++++++++
ko/img/tutorial/acl.png | Bin 0 -> 633359 bytes
ko/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
ko/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
ko/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
ko/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
ko/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
ko/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
ko/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
ko/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
ko/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
ko/img/undraw_docusaurus_mountain.svg | 170 ++
ko/img/undraw_docusaurus_react.svg | 169 ++
ko/img/undraw_docusaurus_tree.svg | 1 +
ko/img/users/360.png | Bin 0 -> 15651 bytes
ko/img/users/alibaba.png | Bin 0 -> 160461 bytes
ko/img/users/bose.png | Bin 0 -> 3360 bytes
ko/img/users/bytebase.png | Bin 0 -> 11023 bytes
ko/img/users/cisco.png | Bin 0 -> 10262 bytes
ko/img/users/docker.png | Bin 0 -> 6192 bytes
ko/img/users/elastic.png | Bin 0 -> 42387 bytes
ko/img/users/eth.png | Bin 0 -> 46321 bytes
ko/img/users/f5.png | Bin 0 -> 49662 bytes
ko/img/users/honeywell.png | Bin 0 -> 57802 bytes
ko/img/users/hpe.png | Bin 0 -> 32136 bytes
ko/img/users/ibm.png | Bin 0 -> 24323 bytes
ko/img/users/intel.png | Bin 0 -> 17619 bytes
ko/img/users/jdlt.png | Bin 0 -> 13501 bytes
ko/img/users/microsoft.png | Bin 0 -> 13325 bytes
ko/img/users/musma.png | Bin 0 -> 9343 bytes
ko/img/users/ontario.png | Bin 0 -> 38267 bytes
ko/img/users/orange.png | Bin 0 -> 5217 bytes
ko/img/users/pulsar.png | Bin 0 -> 8905 bytes
ko/img/users/redhat.png | Bin 0 -> 33950 bytes
ko/img/users/rspacex.png | Bin 0 -> 52166 bytes
ko/img/users/se.png | Bin 0 -> 2963 bytes
ko/img/users/siemens.png | Bin 0 -> 5285 bytes
ko/img/users/t-mobile.png | Bin 0 -> 74117 bytes
ko/img/users/tencent.png | Bin 0 -> 10932 bytes
ko/img/users/verizon.png | Bin 0 -> 22526 bytes
ko/img/users/vmware.png | Bin 0 -> 10251 bytes
ko/img/users/zilliz.png | Bin 0 -> 7611 bytes
ko/index.html | 88 +
ko/js/clarity.js | 5 +
ko/js/hotjar.js | 12 +
ko/js/probe.js | 1 +
ko/js/tawk.js | 9 +
ko/opensearch.xml | 11 +
ko/robots.txt | 2 +
ko/search/index.html | 88 +
ko/sitemap.xml | 1 +
ko/users/index.html | 88 +
ms/.nojekyll | 0
ms/404.html | 88 +
ms/assets/css/styles.642d760c.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
ms/assets/js/01a85c17.dce7d51e.js | 1 +
ms/assets/js/0321fc4d.3437ccb2.js | 1 +
ms/assets/js/03ec89b9.2d337fe0.js | 1 +
ms/assets/js/0678ce33.d056364f.js | 1 +
ms/assets/js/098cdd6e.3bd2ab1b.js | 1 +
ms/assets/js/0a33ce67.585c32b7.js | 1 +
ms/assets/js/0b09b187.2ec99e5f.js | 1 +
ms/assets/js/0b761b4e.fc584420.js | 1 +
ms/assets/js/10111291.50c1d2d9.js | 1 +
ms/assets/js/14eb3368.ee36e5dc.js | 1 +
ms/assets/js/17896441.1c55263e.js | 1 +
ms/assets/js/186863e3.7d21ff20.js | 1 +
ms/assets/js/1a4e3797.607f840a.js | 1 +
ms/assets/js/1b4c7312.3b747502.js | 1 +
ms/assets/js/1beba4ad.d8c83fe1.js | 1 +
ms/assets/js/1cf54019.fd56cb2c.js | 1 +
ms/assets/js/1d598075.5d4e4577.js | 1 +
ms/assets/js/1f7ce863.24b4b10d.js | 1 +
ms/assets/js/2143.631f9abc.js | 1 +
ms/assets/js/2237.4c917a91.js | 1 +
ms/assets/js/25bbc558.7d09fc41.js | 1 +
ms/assets/js/2615e729.460a8604.js | 1 +
ms/assets/js/2693.aae57f15.js | 2 +
ms/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
ms/assets/js/272deb84.fc0c6b14.js | 1 +
ms/assets/js/2a79a61b.c1bd6e66.js | 1 +
ms/assets/js/2b125db7.496e7ee5.js | 1 +
ms/assets/js/2b389c54.4a428552.js | 1 +
ms/assets/js/2dc14c0b.5ea42014.js | 1 +
ms/assets/js/2e622164.96fe1063.js | 1 +
ms/assets/js/307fc1dd.48d03b91.js | 1 +
ms/assets/js/3228cd85.304ea1eb.js | 1 +
ms/assets/js/3347.442b4917.js | 1 +
ms/assets/js/3362e121.70333acb.js | 1 +
ms/assets/js/355ec1b1.023cc3d7.js | 1 +
ms/assets/js/36994c47.a0416590.js | 1 +
ms/assets/js/3955.118925ae.js | 25 +
ms/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
ms/assets/js/39d69375.4e9a2f11.js | 1 +
ms/assets/js/3c6141cf.3681074e.js | 1 +
ms/assets/js/3e2c9d81.c1258230.js | 1 +
ms/assets/js/3e42e0dc.d0504329.js | 1 +
ms/assets/js/416.ffc71866.js | 1 +
ms/assets/js/43208642.1de5628c.js | 1 +
ms/assets/js/448bed7d.4ff8d520.js | 1 +
ms/assets/js/45cf0916.280f6b9d.js | 1 +
ms/assets/js/463bac9b.b4a61bf9.js | 1 +
ms/assets/js/47d1cf7e.20c51d98.js | 1 +
ms/assets/js/48270511.6e2962c1.js | 1 +
ms/assets/js/4c03858a.0006a8f0.js | 1 +
ms/assets/js/4c0f507e.f95b6395.js | 1 +
ms/assets/js/5003a3a8.d2e6d86a.js | 1 +
ms/assets/js/50304783.bd8c4f0b.js | 1 +
ms/assets/js/514a22b6.c2588646.js | 1 +
ms/assets/js/5161ee8c.f60ca0e7.js | 1 +
ms/assets/js/56f1b678.99c463a1.js | 1 +
ms/assets/js/582708ee.91845b73.js | 1 +
ms/assets/js/592f1fb2.75247685.js | 1 +
ms/assets/js/59a498e3.2dcdb68e.js | 1 +
ms/assets/js/5a8cb013.5322ebf3.js | 1 +
ms/assets/js/5e95c892.4d39f66c.js | 1 +
ms/assets/js/621db11d.e8bb016f.js | 1 +
ms/assets/js/63415dbb.041b0fb9.js | 1 +
ms/assets/js/6875c492.1b5dc22a.js | 1 +
ms/assets/js/6c0fc679.82128100.js | 1 +
ms/assets/js/6e208a5b.30dabb1c.js | 1 +
ms/assets/js/6e3f88c1.e3175eb9.js | 1 +
ms/assets/js/7227240e.1eb39f63.js | 1 +
ms/assets/js/755e3621.7ecdbc7f.js | 1 +
ms/assets/js/757d7814.4c1d3bc1.js | 1 +
ms/assets/js/76f8d409.b356c07c.js | 1 +
ms/assets/js/77fd2bec.c0ca997a.js | 1 +
ms/assets/js/7ab028ed.bfeea07f.js | 1 +
ms/assets/js/7ac97b9c.e2307aa6.js | 1 +
ms/assets/js/7ad8ea93.079ade91.js | 1 +
ms/assets/js/7bfeda2f.eae7c0d4.js | 1 +
ms/assets/js/7dd7bb03.17753405.js | 1 +
ms/assets/js/7e026dba.86b941f0.js | 1 +
ms/assets/js/7e37206e.68dee4e3.js | 1 +
ms/assets/js/814f3328.adc42acc.js | 1 +
ms/assets/js/823105a5.b7118176.js | 1 +
ms/assets/js/826fff0e.fb922dd1.js | 1 +
ms/assets/js/83a2171f.48a05f93.js | 1 +
ms/assets/js/847b10c3.bfc2bb00.js | 1 +
ms/assets/js/84c04013.215033e0.js | 1 +
ms/assets/js/8913.dcb61d6c.js | 1 +
ms/assets/js/8bda0e00.50823f9c.js | 1 +
ms/assets/js/961d24f3.1e2fc6b8.js | 1 +
ms/assets/js/9662870b.afff9e2c.js | 1 +
ms/assets/js/9676347b.32562622.js | 1 +
ms/assets/js/9785.a386bbff.js | 1 +
ms/assets/js/9c9d7a76.c18470b8.js | 1 +
ms/assets/js/9e4087bc.9269875d.js | 1 +
ms/assets/js/a0957ace.6760a2bd.js | 1 +
ms/assets/js/a6aa9e1f.165a5b46.js | 1 +
ms/assets/js/a7456010.4ce1f9e1.js | 1 +
ms/assets/js/a7bd4aaa.fea2f11b.js | 1 +
ms/assets/js/a94703ab.c810baba.js | 1 +
ms/assets/js/a9af2527.5e3ecb42.js | 1 +
ms/assets/js/aba21aa0.8989bbd3.js | 1 +
ms/assets/js/ac8cd710.9c083e19.js | 1 +
ms/assets/js/acecf23e.cc68f323.js | 1 +
ms/assets/js/af913d4d.b93183a2.js | 1 +
ms/assets/js/b2347a6e.a60e86cd.js | 1 +
ms/assets/js/b7695932.61650085.js | 1 +
ms/assets/js/b87919c0.b1f97ad8.js | 1 +
ms/assets/js/bf10bd3c.9b7322e4.js | 1 +
ms/assets/js/c141421f.266bc054.js | 1 +
ms/assets/js/c26baa98.ad744385.js | 1 +
ms/assets/js/c4f5d8e4.d849bf54.js | 2 +
ms/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
ms/assets/js/ccc49370.dab9e754.js | 1 +
ms/assets/js/d4ff98ab.0e716d5e.js | 1 +
ms/assets/js/d5b15590.37967e8f.js | 1 +
ms/assets/js/d6384f63.b6c29dd6.js | 1 +
ms/assets/js/dae0ac92.a00e962c.js | 1 +
ms/assets/js/dc3d87c7.ce1f1a6f.js | 1 +
ms/assets/js/de82a327.65bcc897.js | 1 +
ms/assets/js/df82f4a3.24a08647.js | 1 +
ms/assets/js/e3904cd4.dde2bd15.js | 1 +
ms/assets/js/e74a79a5.95553122.js | 1 +
ms/assets/js/ec6b3494.53ccec6a.js | 1 +
ms/assets/js/ee4d5aad.312e2522.js | 1 +
ms/assets/js/efcf791b.b9699cbd.js | 1 +
ms/assets/js/f00b355c.343b9937.js | 1 +
ms/assets/js/f4da39d8.87fe3104.js | 1 +
ms/assets/js/f98aae81.82c4135c.js | 1 +
ms/assets/js/f9ae43fc.b9b3313b.js | 1 +
ms/assets/js/fae7ba96.d9846bcf.js | 1 +
ms/assets/js/fd3ac89e.ab12c0d4.js | 1 +
ms/assets/js/fd9d9c89.1b90b4d4.js | 1 +
ms/assets/js/fda1ec23.27e0a50a.js | 1 +
ms/assets/js/main.370e7742.js | 2 +
ms/assets/js/main.370e7742.js.LICENSE.txt | 51 +
ms/assets/js/runtime~main.db6ec14e.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
ms/blog/2018/08/27/node-casbin/index.html | 91 +
ms/blog/2018/09/23/new-website/index.html | 90 +
ms/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
ms/blog/archive/index.html | 88 +
ms/blog/atom.xml | 277 +++
ms/blog/authors/index.html | 88 +
ms/blog/casbin-2025-ai-agent-era/index.html | 123 ++
ms/blog/index.html | 90 +
ms/blog/rss.xml | 251 +++
ms/blog/tags/ai/index.html | 88 +
ms/blog/tags/casbin/index.html | 88 +
ms/blog/tags/edge-computing/index.html | 88 +
ms/blog/tags/index.html | 88 +
ms/blog/tags/llm/index.html | 88 +
ms/blog/tags/mcp/index.html | 88 +
ms/blog/tags/roadmap/index.html | 88 +
ms/casbin-editor/index.html | 29 +
ms/data/users.json | 170 ++
ms/docs/abac/index.html | 112 ++
ms/docs/adapters/index.html | 178 ++
ms/docs/admin-portal/index.html | 92 +
ms/docs/adopters/index.html | 92 +
ms/docs/api-overview/index.html | 154 ++
ms/docs/benchmark/index.html | 93 +
ms/docs/biba/index.html | 134 ++
ms/docs/blp/index.html | 123 ++
ms/docs/category/about--more/index.html | 88 +
ms/docs/category/access-control-models/index.html | 88 +
ms/docs/category/advanced-usage/index.html | 88 +
ms/docs/category/api/index.html | 88 +
ms/docs/category/basics/index.html | 88 +
ms/docs/category/editors--tools/index.html | 88 +
ms/docs/category/management/index.html | 88 +
ms/docs/category/storage/index.html | 88 +
ms/docs/category/use-cases/index.html | 88 +
ms/docs/cloud-native/index.html | 90 +
ms/docs/command-line-tools/index.html | 189 ++
ms/docs/contributing/index.html | 130 ++
ms/docs/data-permissions/index.html | 94 +
ms/docs/dispatchers/index.html | 95 +
ms/docs/effector/index.html | 103 +
ms/docs/enforcers/index.html | 91 +
ms/docs/envoy/index.html | 121 ++
ms/docs/frontend/index.html | 138 ++
ms/docs/function/index.html | 121 ++
ms/docs/get-started/index.html | 108 ++
ms/docs/graphql-middlewares/index.html | 92 +
ms/docs/how-it-works/index.html | 125 ++
ms/docs/ide-plugins/index.html | 97 +
ms/docs/k8s-gatekeeper/index.html | 290 +++
ms/docs/kong-authz/index.html | 157 ++
ms/docs/lbac/index.html | 124 ++
ms/docs/log-error/index.html | 119 ++
ms/docs/mac-overview/index.html | 109 ++
ms/docs/management-api/index.html | 383 ++++
ms/docs/menu-permissions/index.html | 128 ++
ms/docs/middlewares/index.html | 92 +
ms/docs/model-storage/index.html | 101 +
ms/docs/multi-threading/index.html | 89 +
ms/docs/online-editor/index.html | 109 ++
ms/docs/orbac/index.html | 121 ++
ms/docs/overview/index.html | 114 ++
ms/docs/pbac/index.html | 116 ++
ms/docs/performance/index.html | 102 +
ms/docs/plugins-overview/index.html | 105 +
ms/docs/policy-storage/index.html | 107 ++
ms/docs/policy-subset-loading/index.html | 92 +
ms/docs/priority-model/index.html | 118 ++
ms/docs/privacy-policy/index.html | 95 +
ms/docs/rbac-96/index.html | 99 +
ms/docs/rbac-api/index.html | 278 +++
ms/docs/rbac-overview/index.html | 104 +
ms/docs/rbac-with-conditions-api/index.html | 101 +
ms/docs/rbac-with-conditions/index.html | 112 ++
ms/docs/rbac-with-domains-api/index.html | 131 ++
ms/docs/rbac-with-domains/index.html | 103 +
ms/docs/rbac-with-pattern/index.html | 119 ++
ms/docs/rbac/index.html | 116 ++
ms/docs/rebac/index.html | 106 ++
ms/docs/role-managers/index.html | 91 +
ms/docs/rolemanager-api/index.html | 135 ++
ms/docs/service/index.html | 89 +
ms/docs/superadmin/index.html | 90 +
ms/docs/supported-models/index.html | 110 ++
ms/docs/syntax-for-models/index.html | 162 ++
ms/docs/terms-of-service/index.html | 110 ++
ms/docs/tutorials/index.html | 140 ++
ms/docs/ucon/index.html | 139 ++
ms/docs/watchers/index.html | 95 +
ms/ecosystem/index.html | 88 +
ms/editor/index.html | 88 +
ms/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
ms/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
ms/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
ms/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
ms/gallery/index.html | 88 +
ms/help/index.html | 88 +
ms/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
ms/img/background.png | Bin 0 -> 429128 bytes
ms/img/blog/model.png | Bin 0 -> 823392 bytes
ms/img/casbin.svg | 10 +
ms/img/casbin_min.svg | 9 +
ms/img/docusaurus.png | Bin 0 -> 5142 bytes
ms/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
ms/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
ms/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
ms/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
ms/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
ms/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
ms/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
ms/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
ms/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
ms/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
ms/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
ms/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
ms/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
ms/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
ms/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
ms/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
ms/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
ms/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
ms/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
ms/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
ms/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
ms/img/ecosystem/django.png | Bin 0 -> 3266 bytes
ms/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
ms/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
ms/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
ms/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
ms/img/ecosystem/express.png | Bin 0 -> 2942 bytes
ms/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
ms/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
ms/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
ms/img/ecosystem/file.png | Bin 0 -> 2099 bytes
ms/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
ms/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
ms/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
ms/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
ms/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
ms/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
ms/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
ms/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
ms/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
ms/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
ms/img/ecosystem/http.png | Bin 0 -> 2071 bytes
ms/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
ms/img/ecosystem/json.png | Bin 0 -> 2396 bytes
ms/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
ms/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
ms/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
ms/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
ms/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
ms/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
ms/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
ms/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
ms/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
ms/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
ms/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
ms/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
ms/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
ms/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
ms/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
ms/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
ms/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
ms/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
ms/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
ms/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
ms/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
ms/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
ms/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
ms/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
ms/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
ms/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
ms/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
ms/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
ms/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
ms/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
ms/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
ms/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
ms/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
ms/img/ecosystem/session.png | Bin 0 -> 3129 bytes
ms/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
ms/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
ms/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
ms/img/ecosystem/string.png | Bin 0 -> 5368 bytes
ms/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
ms/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
ms/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
ms/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
ms/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
ms/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
ms/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
ms/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
ms/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
ms/img/editor-ai.png | Bin 0 -> 271698 bytes
ms/img/editor-endpoint.png | Bin 0 -> 57531 bytes
ms/img/editor-engine.png | Bin 0 -> 105638 bytes
ms/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
ms/img/editor-tips.png | Bin 0 -> 12133 bytes
ms/img/editor-upload.png | Bin 0 -> 36050 bytes
ms/img/favicon.ico | Bin 0 -> 3626 bytes
ms/img/favicon.png | Bin 0 -> 10527 bytes
ms/img/github.png | Bin 0 -> 23729 bytes
ms/img/langs/cpp.png | Bin 0 -> 21992 bytes
ms/img/langs/delphi.png | Bin 0 -> 30246 bytes
ms/img/langs/dotnet.png | Bin 0 -> 41524 bytes
ms/img/langs/golang.png | Bin 0 -> 54614 bytes
ms/img/langs/java.png | Bin 0 -> 16040 bytes
ms/img/langs/nodejs.png | Bin 0 -> 27603 bytes
ms/img/langs/php.png | Bin 0 -> 42168 bytes
ms/img/langs/python.png | Bin 0 -> 20755 bytes
ms/img/langs/rust.png | Bin 0 -> 8291 bytes
ms/img/language-dark.png | Bin 0 -> 30816 bytes
ms/img/language.png | Bin 0 -> 50757 bytes
ms/img/language.svg | 710 +++++++
ms/img/logo.svg | 1 +
ms/img/model-dark.png | Bin 0 -> 21754 bytes
ms/img/model.png | Bin 0 -> 8670 bytes
ms/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
ms/img/role.png | Bin 0 -> 78158 bytes
ms/img/scale.png | Bin 0 -> 16385 bytes
ms/img/storage-dark.png | Bin 0 -> 19568 bytes
ms/img/storage.png | Bin 0 -> 26864 bytes
ms/img/storage.svg | 477 +++++
ms/img/store.png | Bin 0 -> 35459 bytes
ms/img/store.svg | 2005 ++++++++++++++++++++
ms/img/tutorial/acl.png | Bin 0 -> 633359 bytes
ms/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
ms/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
ms/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
ms/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
ms/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
ms/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
ms/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
ms/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
ms/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
ms/img/undraw_docusaurus_mountain.svg | 170 ++
ms/img/undraw_docusaurus_react.svg | 169 ++
ms/img/undraw_docusaurus_tree.svg | 1 +
ms/img/users/360.png | Bin 0 -> 15651 bytes
ms/img/users/alibaba.png | Bin 0 -> 160461 bytes
ms/img/users/bose.png | Bin 0 -> 3360 bytes
ms/img/users/bytebase.png | Bin 0 -> 11023 bytes
ms/img/users/cisco.png | Bin 0 -> 10262 bytes
ms/img/users/docker.png | Bin 0 -> 6192 bytes
ms/img/users/elastic.png | Bin 0 -> 42387 bytes
ms/img/users/eth.png | Bin 0 -> 46321 bytes
ms/img/users/f5.png | Bin 0 -> 49662 bytes
ms/img/users/honeywell.png | Bin 0 -> 57802 bytes
ms/img/users/hpe.png | Bin 0 -> 32136 bytes
ms/img/users/ibm.png | Bin 0 -> 24323 bytes
ms/img/users/intel.png | Bin 0 -> 17619 bytes
ms/img/users/jdlt.png | Bin 0 -> 13501 bytes
ms/img/users/microsoft.png | Bin 0 -> 13325 bytes
ms/img/users/musma.png | Bin 0 -> 9343 bytes
ms/img/users/ontario.png | Bin 0 -> 38267 bytes
ms/img/users/orange.png | Bin 0 -> 5217 bytes
ms/img/users/pulsar.png | Bin 0 -> 8905 bytes
ms/img/users/redhat.png | Bin 0 -> 33950 bytes
ms/img/users/rspacex.png | Bin 0 -> 52166 bytes
ms/img/users/se.png | Bin 0 -> 2963 bytes
ms/img/users/siemens.png | Bin 0 -> 5285 bytes
ms/img/users/t-mobile.png | Bin 0 -> 74117 bytes
ms/img/users/tencent.png | Bin 0 -> 10932 bytes
ms/img/users/verizon.png | Bin 0 -> 22526 bytes
ms/img/users/vmware.png | Bin 0 -> 10251 bytes
ms/img/users/zilliz.png | Bin 0 -> 7611 bytes
ms/index.html | 88 +
ms/js/clarity.js | 5 +
ms/js/hotjar.js | 12 +
ms/js/probe.js | 1 +
ms/js/tawk.js | 9 +
ms/opensearch.xml | 11 +
ms/robots.txt | 2 +
ms/search/index.html | 88 +
ms/sitemap.xml | 1 +
ms/users/index.html | 88 +
opensearch.xml | 11 +
pt/.nojekyll | 0
pt/404.html | 88 +
pt/assets/css/styles.529622a0.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
pt/assets/js/01a85c17.dce7d51e.js | 1 +
pt/assets/js/02101ff4.af0038ac.js | 1 +
pt/assets/js/03d4ead6.8d351f3c.js | 1 +
pt/assets/js/04119d13.ae0d8c83.js | 1 +
pt/assets/js/081ae5da.a1ce99cc.js | 1 +
pt/assets/js/0a783ebd.01d8929e.js | 1 +
pt/assets/js/0b441674.9d32ee9c.js | 1 +
pt/assets/js/0c9c0d42.0c333272.js | 1 +
pt/assets/js/0f0414ef.81491c95.js | 1 +
pt/assets/js/14eb3368.ee36e5dc.js | 1 +
pt/assets/js/16fd0ec3.ac9a083c.js | 1 +
pt/assets/js/171ad9e8.89466cd1.js | 1 +
pt/assets/js/17896441.1c55263e.js | 1 +
pt/assets/js/186863e3.7d21ff20.js | 1 +
pt/assets/js/1a4e3797.607f840a.js | 1 +
pt/assets/js/2143.631f9abc.js | 1 +
pt/assets/js/230d8ce9.7c571fa5.js | 1 +
pt/assets/js/233ba625.891f0b3f.js | 1 +
pt/assets/js/25294bca.76dc0cc8.js | 1 +
pt/assets/js/2693.aae57f15.js | 2 +
pt/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
pt/assets/js/333de939.ff7f5e3b.js | 1 +
pt/assets/js/3347.442b4917.js | 1 +
pt/assets/js/3362e121.70333acb.js | 1 +
pt/assets/js/35b35f4d.3fdeaa12.js | 1 +
pt/assets/js/36994c47.a0416590.js | 1 +
pt/assets/js/391ae3e0.f56cf1bb.js | 1 +
pt/assets/js/3955.118925ae.js | 25 +
pt/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
pt/assets/js/3b641f60.ee02d78a.js | 1 +
pt/assets/js/416.ffc71866.js | 1 +
pt/assets/js/44cda997.6c50c992.js | 1 +
pt/assets/js/4618.1caca79f.js | 1 +
pt/assets/js/4717bb66.8d7fb54f.js | 1 +
pt/assets/js/47b41bd4.54b1ecb7.js | 1 +
pt/assets/js/496c7db4.a176defd.js | 1 +
pt/assets/js/53a6bb94.37c4679a.js | 1 +
pt/assets/js/54cb1347.8e1f7f65.js | 1 +
pt/assets/js/551896c3.7c0576d6.js | 1 +
pt/assets/js/5555236e.2dc478a5.js | 1 +
pt/assets/js/5a5c5ab0.4270cb62.js | 1 +
pt/assets/js/5a99f8fb.6dddd169.js | 1 +
pt/assets/js/5b7c9d43.39f106a6.js | 1 +
pt/assets/js/5e95c892.4d39f66c.js | 1 +
pt/assets/js/621db11d.e8bb016f.js | 1 +
pt/assets/js/65b27e66.3403c2d3.js | 1 +
pt/assets/js/66d0a4f9.d00d0fa8.js | 1 +
pt/assets/js/6875c492.1b5dc22a.js | 1 +
pt/assets/js/6b505c15.caf8901d.js | 1 +
pt/assets/js/6b8a6460.51253534.js | 1 +
pt/assets/js/6bdafd5b.2c356a43.js | 1 +
pt/assets/js/6cf5944c.d3bb12cc.js | 1 +
pt/assets/js/6fadf75b.771c96be.js | 1 +
pt/assets/js/7283a390.ddd0e247.js | 1 +
pt/assets/js/72a0082d.6db2566a.js | 1 +
pt/assets/js/72ce503c.0111efc2.js | 1 +
pt/assets/js/73b64290.45eb8e6c.js | 1 +
pt/assets/js/75e8ed9d.75c58e23.js | 1 +
pt/assets/js/7a760aa5.a935de8a.js | 1 +
pt/assets/js/7cfb7ca1.de82bf5e.js | 1 +
pt/assets/js/7d19a521.86c52f6c.js | 1 +
pt/assets/js/7e37206e.68dee4e3.js | 1 +
pt/assets/js/7e9c6691.7e2d84d2.js | 1 +
pt/assets/js/80769327.cdb4e8e4.js | 1 +
pt/assets/js/814f3328.379e1e35.js | 1 +
pt/assets/js/843f9dc4.07312b05.js | 1 +
pt/assets/js/8554e56b.ab2c730f.js | 1 +
pt/assets/js/878ea2df.cf21bae2.js | 1 +
pt/assets/js/8913.dcb61d6c.js | 1 +
pt/assets/js/8ec6991c.dec09e96.js | 1 +
pt/assets/js/8f306098.2dc84ea8.js | 1 +
pt/assets/js/9139e390.486f6509.js | 1 +
pt/assets/js/91e07ff8.eacc0c0f.js | 1 +
pt/assets/js/9785.a386bbff.js | 1 +
pt/assets/js/99920468.f28e6903.js | 1 +
pt/assets/js/9a04ca68.6568978b.js | 1 +
pt/assets/js/9a23306e.a336b7d2.js | 1 +
pt/assets/js/9e4087bc.9269875d.js | 1 +
pt/assets/js/9ef2d629.6cc1009f.js | 1 +
pt/assets/js/a1450a14.2ffc2832.js | 1 +
pt/assets/js/a6aa9e1f.165a5b46.js | 1 +
pt/assets/js/a6b59221.2ba60bd0.js | 1 +
pt/assets/js/a7456010.4ce1f9e1.js | 1 +
pt/assets/js/a7bd4aaa.fea2f11b.js | 1 +
pt/assets/js/a94703ab.c810baba.js | 1 +
pt/assets/js/aba21aa0.8989bbd3.js | 1 +
pt/assets/js/acecf23e.cf41e92c.js | 1 +
pt/assets/js/af913d4d.b93183a2.js | 1 +
pt/assets/js/afa44590.684d9051.js | 1 +
pt/assets/js/b5292b35.f8abf57c.js | 1 +
pt/assets/js/b627b647.81a31421.js | 1 +
pt/assets/js/c141421f.266bc054.js | 1 +
pt/assets/js/c2b99016.37c42cd2.js | 1 +
pt/assets/js/c4f5d8e4.d849bf54.js | 2 +
pt/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
pt/assets/js/c5db88bf.d86d18da.js | 1 +
pt/assets/js/c6dd5c17.3d3130ae.js | 1 +
pt/assets/js/c712afb3.0a1a959f.js | 1 +
pt/assets/js/c93a7cf1.2f0e14f1.js | 1 +
pt/assets/js/ccc49370.dab9e754.js | 1 +
pt/assets/js/cdb0c1e9.5dfcc06b.js | 1 +
pt/assets/js/cf755a3d.84e0ed22.js | 1 +
pt/assets/js/d090e18d.da1a5ba5.js | 1 +
pt/assets/js/d123928e.c0c3728f.js | 1 +
pt/assets/js/d25df956.77fd8cdb.js | 1 +
pt/assets/js/dc4f43d6.76afaf3d.js | 1 +
pt/assets/js/de6b1c4e.da455d03.js | 1 +
pt/assets/js/dea82bf9.7d0d1525.js | 1 +
pt/assets/js/e056187a.d9be73b2.js | 1 +
pt/assets/js/e1733782.fe7798a2.js | 1 +
pt/assets/js/e52a9d12.61df8a24.js | 1 +
pt/assets/js/e74a79a5.95553122.js | 1 +
pt/assets/js/e86a6f6c.3f5e709c.js | 1 +
pt/assets/js/eaa4cf5a.e1199b07.js | 1 +
pt/assets/js/ecb2883b.bdb8e2a3.js | 1 +
pt/assets/js/ed1ee21a.4a1c56d1.js | 1 +
pt/assets/js/ee03553b.b4bb1bc3.js | 1 +
pt/assets/js/ef0282a8.d63bc9b1.js | 1 +
pt/assets/js/f455dc51.b4055368.js | 1 +
pt/assets/js/f4b36ff1.7c575a5f.js | 1 +
pt/assets/js/f571647f.04e69388.js | 1 +
pt/assets/js/f5f1a0e3.93656d74.js | 1 +
pt/assets/js/f6807ad0.8cc49b9d.js | 1 +
pt/assets/js/f71eec24.8ed09973.js | 1 +
pt/assets/js/f88c26f7.8ef06cb5.js | 1 +
pt/assets/js/faaf0f2f.64fade6d.js | 1 +
pt/assets/js/fcb656e1.f0d36c1c.js | 1 +
pt/assets/js/fcc57ac7.597c4906.js | 1 +
pt/assets/js/fd46f08d.25a579c3.js | 1 +
pt/assets/js/fd9d9c89.1b90b4d4.js | 1 +
pt/assets/js/fe828a2d.7b331ab6.js | 1 +
pt/assets/js/fead8e54.7d5fa669.js | 1 +
pt/assets/js/main.e8c65b90.js | 2 +
pt/assets/js/main.e8c65b90.js.LICENSE.txt | 51 +
pt/assets/js/runtime~main.b0cd4f1c.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
pt/blog/2018/08/27/node-casbin/index.html | 91 +
pt/blog/2018/09/23/new-website/index.html | 90 +
pt/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
pt/blog/archive/index.html | 88 +
pt/blog/atom.xml | 277 +++
pt/blog/authors/index.html | 88 +
pt/blog/casbin-2025-ai-agent-era/index.html | 123 ++
pt/blog/index.html | 90 +
pt/blog/rss.xml | 251 +++
pt/blog/tags/ai/index.html | 88 +
pt/blog/tags/casbin/index.html | 88 +
pt/blog/tags/edge-computing/index.html | 88 +
pt/blog/tags/index.html | 88 +
pt/blog/tags/llm/index.html | 88 +
pt/blog/tags/mcp/index.html | 88 +
pt/blog/tags/roadmap/index.html | 88 +
pt/casbin-editor/index.html | 29 +
pt/data/users.json | 170 ++
pt/docs/abac/index.html | 112 ++
pt/docs/adapters/index.html | 178 ++
pt/docs/admin-portal/index.html | 92 +
pt/docs/adopters/index.html | 92 +
pt/docs/api-overview/index.html | 154 ++
pt/docs/benchmark/index.html | 93 +
pt/docs/biba/index.html | 134 ++
pt/docs/blp/index.html | 123 ++
pt/docs/category/about--more/index.html | 88 +
pt/docs/category/access-control-models/index.html | 88 +
pt/docs/category/advanced-usage/index.html | 88 +
pt/docs/category/api/index.html | 88 +
pt/docs/category/basics/index.html | 88 +
pt/docs/category/editors--tools/index.html | 88 +
pt/docs/category/management/index.html | 88 +
pt/docs/category/storage/index.html | 88 +
pt/docs/category/use-cases/index.html | 88 +
pt/docs/cloud-native/index.html | 90 +
pt/docs/command-line-tools/index.html | 189 ++
pt/docs/contributing/index.html | 130 ++
pt/docs/data-permissions/index.html | 94 +
pt/docs/dispatchers/index.html | 95 +
pt/docs/effector/index.html | 103 +
pt/docs/enforcers/index.html | 91 +
pt/docs/envoy/index.html | 121 ++
pt/docs/frontend/index.html | 138 ++
pt/docs/function/index.html | 121 ++
pt/docs/get-started/index.html | 108 ++
pt/docs/graphql-middlewares/index.html | 92 +
pt/docs/how-it-works/index.html | 125 ++
pt/docs/ide-plugins/index.html | 97 +
pt/docs/k8s-gatekeeper/index.html | 290 +++
pt/docs/kong-authz/index.html | 157 ++
pt/docs/lbac/index.html | 124 ++
pt/docs/log-error/index.html | 119 ++
pt/docs/mac-overview/index.html | 109 ++
pt/docs/management-api/index.html | 383 ++++
pt/docs/menu-permissions/index.html | 128 ++
pt/docs/middlewares/index.html | 92 +
pt/docs/model-storage/index.html | 101 +
pt/docs/multi-threading/index.html | 89 +
pt/docs/online-editor/index.html | 109 ++
pt/docs/orbac/index.html | 121 ++
pt/docs/overview/index.html | 114 ++
pt/docs/pbac/index.html | 116 ++
pt/docs/performance/index.html | 102 +
pt/docs/plugins-overview/index.html | 105 +
pt/docs/policy-storage/index.html | 107 ++
pt/docs/policy-subset-loading/index.html | 92 +
pt/docs/priority-model/index.html | 118 ++
pt/docs/privacy-policy/index.html | 95 +
pt/docs/rbac-96/index.html | 99 +
pt/docs/rbac-api/index.html | 278 +++
pt/docs/rbac-overview/index.html | 104 +
pt/docs/rbac-with-conditions-api/index.html | 101 +
pt/docs/rbac-with-conditions/index.html | 112 ++
pt/docs/rbac-with-domains-api/index.html | 131 ++
pt/docs/rbac-with-domains/index.html | 103 +
pt/docs/rbac-with-pattern/index.html | 119 ++
pt/docs/rbac/index.html | 116 ++
pt/docs/rebac/index.html | 106 ++
pt/docs/role-managers/index.html | 91 +
pt/docs/rolemanager-api/index.html | 135 ++
pt/docs/service/index.html | 89 +
pt/docs/superadmin/index.html | 90 +
pt/docs/supported-models/index.html | 110 ++
pt/docs/syntax-for-models/index.html | 162 ++
pt/docs/terms-of-service/index.html | 110 ++
pt/docs/tutorials/index.html | 140 ++
pt/docs/ucon/index.html | 139 ++
pt/docs/watchers/index.html | 95 +
pt/ecosystem/index.html | 88 +
pt/editor/index.html | 88 +
pt/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
pt/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
pt/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
pt/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
pt/gallery/index.html | 88 +
pt/help/index.html | 88 +
pt/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
pt/img/background.png | Bin 0 -> 429128 bytes
pt/img/blog/model.png | Bin 0 -> 823392 bytes
pt/img/casbin.svg | 10 +
pt/img/casbin_min.svg | 9 +
pt/img/docusaurus.png | Bin 0 -> 5142 bytes
pt/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
pt/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
pt/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
pt/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
pt/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
pt/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
pt/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
pt/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
pt/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
pt/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
pt/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
pt/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
pt/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
pt/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
pt/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
pt/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
pt/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
pt/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
pt/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
pt/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
pt/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
pt/img/ecosystem/django.png | Bin 0 -> 3266 bytes
pt/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
pt/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
pt/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
pt/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
pt/img/ecosystem/express.png | Bin 0 -> 2942 bytes
pt/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
pt/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
pt/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
pt/img/ecosystem/file.png | Bin 0 -> 2099 bytes
pt/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
pt/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
pt/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
pt/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
pt/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
pt/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
pt/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
pt/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
pt/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
pt/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
pt/img/ecosystem/http.png | Bin 0 -> 2071 bytes
pt/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
pt/img/ecosystem/json.png | Bin 0 -> 2396 bytes
pt/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
pt/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
pt/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
pt/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
pt/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
pt/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
pt/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
pt/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
pt/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
pt/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
pt/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
pt/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
pt/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
pt/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
pt/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
pt/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
pt/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
pt/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
pt/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
pt/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
pt/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
pt/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
pt/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
pt/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
pt/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
pt/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
pt/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
pt/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
pt/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
pt/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
pt/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
pt/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
pt/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
pt/img/ecosystem/session.png | Bin 0 -> 3129 bytes
pt/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
pt/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
pt/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
pt/img/ecosystem/string.png | Bin 0 -> 5368 bytes
pt/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
pt/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
pt/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
pt/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
pt/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
pt/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
pt/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
pt/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
pt/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
pt/img/editor-ai.png | Bin 0 -> 271698 bytes
pt/img/editor-endpoint.png | Bin 0 -> 57531 bytes
pt/img/editor-engine.png | Bin 0 -> 105638 bytes
pt/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
pt/img/editor-tips.png | Bin 0 -> 12133 bytes
pt/img/editor-upload.png | Bin 0 -> 36050 bytes
pt/img/favicon.ico | Bin 0 -> 3626 bytes
pt/img/favicon.png | Bin 0 -> 10527 bytes
pt/img/github.png | Bin 0 -> 23729 bytes
pt/img/langs/cpp.png | Bin 0 -> 21992 bytes
pt/img/langs/delphi.png | Bin 0 -> 30246 bytes
pt/img/langs/dotnet.png | Bin 0 -> 41524 bytes
pt/img/langs/golang.png | Bin 0 -> 54614 bytes
pt/img/langs/java.png | Bin 0 -> 16040 bytes
pt/img/langs/nodejs.png | Bin 0 -> 27603 bytes
pt/img/langs/php.png | Bin 0 -> 42168 bytes
pt/img/langs/python.png | Bin 0 -> 20755 bytes
pt/img/langs/rust.png | Bin 0 -> 8291 bytes
pt/img/language-dark.png | Bin 0 -> 30816 bytes
pt/img/language.png | Bin 0 -> 50757 bytes
pt/img/language.svg | 710 +++++++
pt/img/logo.svg | 1 +
pt/img/model-dark.png | Bin 0 -> 21754 bytes
pt/img/model.png | Bin 0 -> 8670 bytes
pt/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
pt/img/role.png | Bin 0 -> 78158 bytes
pt/img/scale.png | Bin 0 -> 16385 bytes
pt/img/storage-dark.png | Bin 0 -> 19568 bytes
pt/img/storage.png | Bin 0 -> 26864 bytes
pt/img/storage.svg | 477 +++++
pt/img/store.png | Bin 0 -> 35459 bytes
pt/img/store.svg | 2005 ++++++++++++++++++++
pt/img/tutorial/acl.png | Bin 0 -> 633359 bytes
pt/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
pt/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
pt/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
pt/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
pt/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
pt/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
pt/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
pt/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
pt/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
pt/img/undraw_docusaurus_mountain.svg | 170 ++
pt/img/undraw_docusaurus_react.svg | 169 ++
pt/img/undraw_docusaurus_tree.svg | 1 +
pt/img/users/360.png | Bin 0 -> 15651 bytes
pt/img/users/alibaba.png | Bin 0 -> 160461 bytes
pt/img/users/bose.png | Bin 0 -> 3360 bytes
pt/img/users/bytebase.png | Bin 0 -> 11023 bytes
pt/img/users/cisco.png | Bin 0 -> 10262 bytes
pt/img/users/docker.png | Bin 0 -> 6192 bytes
pt/img/users/elastic.png | Bin 0 -> 42387 bytes
pt/img/users/eth.png | Bin 0 -> 46321 bytes
pt/img/users/f5.png | Bin 0 -> 49662 bytes
pt/img/users/honeywell.png | Bin 0 -> 57802 bytes
pt/img/users/hpe.png | Bin 0 -> 32136 bytes
pt/img/users/ibm.png | Bin 0 -> 24323 bytes
pt/img/users/intel.png | Bin 0 -> 17619 bytes
pt/img/users/jdlt.png | Bin 0 -> 13501 bytes
pt/img/users/microsoft.png | Bin 0 -> 13325 bytes
pt/img/users/musma.png | Bin 0 -> 9343 bytes
pt/img/users/ontario.png | Bin 0 -> 38267 bytes
pt/img/users/orange.png | Bin 0 -> 5217 bytes
pt/img/users/pulsar.png | Bin 0 -> 8905 bytes
pt/img/users/redhat.png | Bin 0 -> 33950 bytes
pt/img/users/rspacex.png | Bin 0 -> 52166 bytes
pt/img/users/se.png | Bin 0 -> 2963 bytes
pt/img/users/siemens.png | Bin 0 -> 5285 bytes
pt/img/users/t-mobile.png | Bin 0 -> 74117 bytes
pt/img/users/tencent.png | Bin 0 -> 10932 bytes
pt/img/users/verizon.png | Bin 0 -> 22526 bytes
pt/img/users/vmware.png | Bin 0 -> 10251 bytes
pt/img/users/zilliz.png | Bin 0 -> 7611 bytes
pt/index.html | 88 +
pt/js/clarity.js | 5 +
pt/js/hotjar.js | 12 +
pt/js/probe.js | 1 +
pt/js/tawk.js | 9 +
pt/opensearch.xml | 11 +
pt/robots.txt | 2 +
pt/search/index.html | 88 +
pt/sitemap.xml | 1 +
pt/users/index.html | 88 +
robots.txt | 2 +
ru/.nojekyll | 0
ru/404.html | 88 +
ru/assets/css/styles.79fa272d.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
ru/assets/js/0077a376.af0e6bd2.js | 1 +
ru/assets/js/01a85c17.dce7d51e.js | 1 +
ru/assets/js/03b3a3ba.3962e521.js | 1 +
ru/assets/js/054d73f7.86be6752.js | 1 +
ru/assets/js/0764d20c.6f631bb1.js | 1 +
ru/assets/js/0c3a93e4.5d0e77fb.js | 1 +
ru/assets/js/0d90158e.47319acf.js | 1 +
ru/assets/js/0f4b6af9.d2d6d7af.js | 1 +
ru/assets/js/14eb3368.ee36e5dc.js | 1 +
ru/assets/js/16363443.d3fcf958.js | 1 +
ru/assets/js/17896441.1c55263e.js | 1 +
ru/assets/js/186863e3.7d21ff20.js | 1 +
ru/assets/js/1a4e3797.607f840a.js | 1 +
ru/assets/js/1d862be6.96e9514b.js | 1 +
ru/assets/js/1dd47bcb.ba457a46.js | 1 +
ru/assets/js/1eb6d7d1.de644c0b.js | 1 +
ru/assets/js/20a823d5.d23994b9.js | 1 +
ru/assets/js/2143.631f9abc.js | 1 +
ru/assets/js/2237.4c917a91.js | 1 +
ru/assets/js/24c600a5.9e3a0d6f.js | 1 +
ru/assets/js/2693.aae57f15.js | 2 +
ru/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
ru/assets/js/26ae7368.1f573c5f.js | 1 +
ru/assets/js/2aed91a7.4af90ece.js | 1 +
ru/assets/js/2b92f144.ecbaaa8c.js | 1 +
ru/assets/js/2d438121.264ea72f.js | 1 +
ru/assets/js/2d58d7c0.1283f3e2.js | 1 +
ru/assets/js/2e08a196.7f91abe2.js | 1 +
ru/assets/js/2eb24781.185a0161.js | 1 +
ru/assets/js/332dabe8.39ffa473.js | 1 +
ru/assets/js/3347.442b4917.js | 1 +
ru/assets/js/3362e121.70333acb.js | 1 +
ru/assets/js/365c2d08.5694520a.js | 1 +
ru/assets/js/36994c47.a0416590.js | 1 +
ru/assets/js/36a6922d.a6e72609.js | 1 +
ru/assets/js/36d4d843.42533b7a.js | 1 +
ru/assets/js/3955.118925ae.js | 25 +
ru/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
ru/assets/js/3978c409.508a7580.js | 1 +
ru/assets/js/3e54d4d5.46130575.js | 1 +
ru/assets/js/3ec28a5d.a6507cfd.js | 1 +
ru/assets/js/40077e83.b2b2226f.js | 1 +
ru/assets/js/41ca57b7.1dfefc57.js | 1 +
ru/assets/js/497ab806.e73c5682.js | 1 +
ru/assets/js/4d3bfbc7.52aa0238.js | 1 +
ru/assets/js/51ea7b3c.3698069e.js | 1 +
ru/assets/js/53cddb24.a7b4d365.js | 1 +
ru/assets/js/5cfa1cc6.7610d1cc.js | 1 +
ru/assets/js/5e95c892.4d39f66c.js | 1 +
ru/assets/js/5f2b6348.111f67fb.js | 1 +
ru/assets/js/6171cabc.92e146d4.js | 1 +
ru/assets/js/621db11d.e8bb016f.js | 1 +
ru/assets/js/62387c81.34860c23.js | 1 +
ru/assets/js/62750e27.a9dc038c.js | 1 +
ru/assets/js/63abf161.24b83863.js | 1 +
ru/assets/js/64991f83.c22f1d32.js | 1 +
ru/assets/js/6875c492.1b5dc22a.js | 1 +
ru/assets/js/6a727aef.caa78c51.js | 1 +
ru/assets/js/6d704c2a.8ca64cd9.js | 1 +
ru/assets/js/6df9948d.4b04f6d1.js | 1 +
ru/assets/js/740774a1.a71fb57d.js | 1 +
ru/assets/js/7547bad1.4b65cfd3.js | 1 +
ru/assets/js/79275c4c.83dac621.js | 1 +
ru/assets/js/7d53efec.31695253.js | 1 +
ru/assets/js/7e37206e.68dee4e3.js | 1 +
ru/assets/js/8035.1e865179.js | 1 +
ru/assets/js/80afecd6.30124275.js | 1 +
ru/assets/js/814f3328.d7be9e1a.js | 1 +
ru/assets/js/8375f294.86f6821b.js | 1 +
ru/assets/js/8913.dcb61d6c.js | 1 +
ru/assets/js/8a19bebf.ab7c369d.js | 1 +
ru/assets/js/8f79713a.582ae81e.js | 1 +
ru/assets/js/8fc70eb1.9d2cf7e2.js | 1 +
ru/assets/js/90b49270.0cdf3be6.js | 1 +
ru/assets/js/9785.a386bbff.js | 1 +
ru/assets/js/9a3fe9c8.1d0223ee.js | 1 +
ru/assets/js/9c354b10.2af555ee.js | 1 +
ru/assets/js/9e4087bc.9269875d.js | 1 +
ru/assets/js/9e7a45dd.f9604678.js | 1 +
ru/assets/js/9fc2c5a2.6e2b306b.js | 1 +
ru/assets/js/9ff3c22c.84a0ac96.js | 1 +
ru/assets/js/a2552e6f.f719d2e2.js | 1 +
ru/assets/js/a49e4fda.58a13f7f.js | 1 +
ru/assets/js/a6712eeb.4c34a970.js | 1 +
ru/assets/js/a6aa9e1f.165a5b46.js | 1 +
ru/assets/js/a7456010.4ce1f9e1.js | 1 +
ru/assets/js/a7bd4aaa.fea2f11b.js | 1 +
ru/assets/js/a7f34d91.364fe3a1.js | 1 +
ru/assets/js/a88adeff.f6992246.js | 1 +
ru/assets/js/a94703ab.c810baba.js | 1 +
ru/assets/js/aa7e92d2.a685f517.js | 1 +
ru/assets/js/aba21aa0.8989bbd3.js | 1 +
ru/assets/js/acc0f2e9.ab3cfda4.js | 1 +
ru/assets/js/acecf23e.32039e6b.js | 1 +
ru/assets/js/af034434.1c4475ad.js | 1 +
ru/assets/js/af913d4d.b93183a2.js | 1 +
ru/assets/js/afdb2e8c.1b9c70b7.js | 1 +
ru/assets/js/b077c005.185f5504.js | 1 +
ru/assets/js/b07e1a87.20b569a3.js | 1 +
ru/assets/js/b23f9b66.38f9b1c9.js | 1 +
ru/assets/js/b2bd63ae.250b74df.js | 1 +
ru/assets/js/b37881b7.3a202623.js | 1 +
ru/assets/js/b4b65162.33df7ecf.js | 1 +
ru/assets/js/b7c42abc.b50f0c69.js | 1 +
ru/assets/js/bf219fc3.ba46ef5d.js | 1 +
ru/assets/js/c141421f.266bc054.js | 1 +
ru/assets/js/c3d6e7b5.9c51d2b4.js | 1 +
ru/assets/js/c4cc16ec.b9ae794f.js | 1 +
ru/assets/js/c4f5d8e4.d849bf54.js | 2 +
ru/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
ru/assets/js/c9660a49.69ff6a6f.js | 1 +
ru/assets/js/cb420542.43d431e9.js | 1 +
ru/assets/js/ccc49370.dab9e754.js | 1 +
ru/assets/js/cde8f264.6048c371.js | 1 +
ru/assets/js/ce2599b6.b8437eec.js | 1 +
ru/assets/js/d0bec1f8.542f175d.js | 1 +
ru/assets/js/d274a870.76fdc827.js | 1 +
ru/assets/js/dd3d20f1.57e0a635.js | 1 +
ru/assets/js/dfe8901a.046690e6.js | 1 +
ru/assets/js/e69e04f2.5af4d616.js | 1 +
ru/assets/js/e7250bc9.794e34d3.js | 1 +
ru/assets/js/e74a79a5.95553122.js | 1 +
ru/assets/js/e841bbb0.8809d2de.js | 1 +
ru/assets/js/e86cc05b.814f418f.js | 1 +
ru/assets/js/ee30d4c2.27349d54.js | 1 +
ru/assets/js/ee51bc21.ad4acabf.js | 1 +
ru/assets/js/ef4c4fe3.76b35910.js | 1 +
ru/assets/js/f043c905.4731a61e.js | 1 +
ru/assets/js/f1c435f9.69e622b6.js | 1 +
ru/assets/js/f77beebe.8b577062.js | 1 +
ru/assets/js/fd9d9c89.1b90b4d4.js | 1 +
ru/assets/js/fe7e4cbc.ff331aaf.js | 1 +
ru/assets/js/main.244e71ef.js | 2 +
ru/assets/js/main.244e71ef.js.LICENSE.txt | 51 +
ru/assets/js/runtime~main.b6224f13.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
ru/blog/2018/08/27/node-casbin/index.html | 91 +
ru/blog/2018/09/23/new-website/index.html | 90 +
ru/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
ru/blog/archive/index.html | 88 +
ru/blog/atom.xml | 277 +++
ru/blog/authors/index.html | 88 +
ru/blog/casbin-2025-ai-agent-era/index.html | 123 ++
ru/blog/index.html | 90 +
ru/blog/rss.xml | 251 +++
ru/blog/tags/ai/index.html | 88 +
ru/blog/tags/casbin/index.html | 88 +
ru/blog/tags/edge-computing/index.html | 88 +
ru/blog/tags/index.html | 88 +
ru/blog/tags/llm/index.html | 88 +
ru/blog/tags/mcp/index.html | 88 +
ru/blog/tags/roadmap/index.html | 88 +
ru/casbin-editor/index.html | 29 +
ru/data/users.json | 170 ++
ru/docs/abac/index.html | 112 ++
ru/docs/adapters/index.html | 178 ++
ru/docs/admin-portal/index.html | 92 +
ru/docs/adopters/index.html | 92 +
ru/docs/api-overview/index.html | 154 ++
ru/docs/benchmark/index.html | 93 +
ru/docs/biba/index.html | 134 ++
ru/docs/blp/index.html | 123 ++
ru/docs/category/about--more/index.html | 88 +
ru/docs/category/access-control-models/index.html | 88 +
ru/docs/category/advanced-usage/index.html | 88 +
ru/docs/category/api/index.html | 88 +
ru/docs/category/basics/index.html | 88 +
ru/docs/category/editors--tools/index.html | 88 +
ru/docs/category/management/index.html | 88 +
ru/docs/category/storage/index.html | 88 +
ru/docs/category/use-cases/index.html | 88 +
ru/docs/cloud-native/index.html | 90 +
ru/docs/command-line-tools/index.html | 189 ++
ru/docs/contributing/index.html | 130 ++
ru/docs/data-permissions/index.html | 94 +
ru/docs/dispatchers/index.html | 95 +
ru/docs/effector/index.html | 103 +
ru/docs/enforcers/index.html | 91 +
ru/docs/envoy/index.html | 121 ++
ru/docs/frontend/index.html | 138 ++
ru/docs/function/index.html | 121 ++
ru/docs/get-started/index.html | 108 ++
ru/docs/graphql-middlewares/index.html | 92 +
ru/docs/how-it-works/index.html | 125 ++
ru/docs/ide-plugins/index.html | 97 +
ru/docs/k8s-gatekeeper/index.html | 290 +++
ru/docs/kong-authz/index.html | 157 ++
ru/docs/lbac/index.html | 124 ++
ru/docs/log-error/index.html | 119 ++
ru/docs/mac-overview/index.html | 109 ++
ru/docs/management-api/index.html | 383 ++++
ru/docs/menu-permissions/index.html | 128 ++
ru/docs/middlewares/index.html | 92 +
ru/docs/model-storage/index.html | 101 +
ru/docs/multi-threading/index.html | 89 +
ru/docs/online-editor/index.html | 109 ++
ru/docs/orbac/index.html | 121 ++
ru/docs/overview/index.html | 114 ++
ru/docs/pbac/index.html | 116 ++
ru/docs/performance/index.html | 102 +
ru/docs/plugins-overview/index.html | 105 +
ru/docs/policy-storage/index.html | 107 ++
ru/docs/policy-subset-loading/index.html | 92 +
ru/docs/priority-model/index.html | 118 ++
ru/docs/privacy-policy/index.html | 95 +
ru/docs/rbac-96/index.html | 99 +
ru/docs/rbac-api/index.html | 278 +++
ru/docs/rbac-overview/index.html | 104 +
ru/docs/rbac-with-conditions-api/index.html | 101 +
ru/docs/rbac-with-conditions/index.html | 112 ++
ru/docs/rbac-with-domains-api/index.html | 131 ++
ru/docs/rbac-with-domains/index.html | 103 +
ru/docs/rbac-with-pattern/index.html | 119 ++
ru/docs/rbac/index.html | 116 ++
ru/docs/rebac/index.html | 106 ++
ru/docs/role-managers/index.html | 91 +
ru/docs/rolemanager-api/index.html | 135 ++
ru/docs/service/index.html | 89 +
ru/docs/superadmin/index.html | 90 +
ru/docs/supported-models/index.html | 110 ++
ru/docs/syntax-for-models/index.html | 162 ++
ru/docs/terms-of-service/index.html | 110 ++
ru/docs/tutorials/index.html | 140 ++
ru/docs/ucon/index.html | 139 ++
ru/docs/watchers/index.html | 95 +
ru/ecosystem/index.html | 88 +
ru/editor/index.html | 88 +
ru/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
ru/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
ru/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
ru/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
ru/gallery/index.html | 88 +
ru/help/index.html | 88 +
ru/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
ru/img/background.png | Bin 0 -> 429128 bytes
ru/img/blog/model.png | Bin 0 -> 823392 bytes
ru/img/casbin.svg | 10 +
ru/img/casbin_min.svg | 9 +
ru/img/docusaurus.png | Bin 0 -> 5142 bytes
ru/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
ru/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
ru/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
ru/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
ru/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
ru/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
ru/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
ru/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
ru/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
ru/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
ru/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
ru/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
ru/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
ru/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
ru/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
ru/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
ru/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
ru/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
ru/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
ru/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
ru/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
ru/img/ecosystem/django.png | Bin 0 -> 3266 bytes
ru/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
ru/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
ru/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
ru/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
ru/img/ecosystem/express.png | Bin 0 -> 2942 bytes
ru/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
ru/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
ru/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
ru/img/ecosystem/file.png | Bin 0 -> 2099 bytes
ru/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
ru/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
ru/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
ru/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
ru/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
ru/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
ru/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
ru/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
ru/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
ru/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
ru/img/ecosystem/http.png | Bin 0 -> 2071 bytes
ru/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
ru/img/ecosystem/json.png | Bin 0 -> 2396 bytes
ru/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
ru/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
ru/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
ru/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
ru/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
ru/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
ru/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
ru/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
ru/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
ru/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
ru/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
ru/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
ru/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
ru/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
ru/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
ru/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
ru/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
ru/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
ru/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
ru/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
ru/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
ru/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
ru/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
ru/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
ru/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
ru/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
ru/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
ru/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
ru/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
ru/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
ru/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
ru/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
ru/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
ru/img/ecosystem/session.png | Bin 0 -> 3129 bytes
ru/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
ru/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
ru/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
ru/img/ecosystem/string.png | Bin 0 -> 5368 bytes
ru/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
ru/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
ru/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
ru/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
ru/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
ru/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
ru/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
ru/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
ru/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
ru/img/editor-ai.png | Bin 0 -> 271698 bytes
ru/img/editor-endpoint.png | Bin 0 -> 57531 bytes
ru/img/editor-engine.png | Bin 0 -> 105638 bytes
ru/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
ru/img/editor-tips.png | Bin 0 -> 12133 bytes
ru/img/editor-upload.png | Bin 0 -> 36050 bytes
ru/img/favicon.ico | Bin 0 -> 3626 bytes
ru/img/favicon.png | Bin 0 -> 10527 bytes
ru/img/github.png | Bin 0 -> 23729 bytes
ru/img/langs/cpp.png | Bin 0 -> 21992 bytes
ru/img/langs/delphi.png | Bin 0 -> 30246 bytes
ru/img/langs/dotnet.png | Bin 0 -> 41524 bytes
ru/img/langs/golang.png | Bin 0 -> 54614 bytes
ru/img/langs/java.png | Bin 0 -> 16040 bytes
ru/img/langs/nodejs.png | Bin 0 -> 27603 bytes
ru/img/langs/php.png | Bin 0 -> 42168 bytes
ru/img/langs/python.png | Bin 0 -> 20755 bytes
ru/img/langs/rust.png | Bin 0 -> 8291 bytes
ru/img/language-dark.png | Bin 0 -> 30816 bytes
ru/img/language.png | Bin 0 -> 50757 bytes
ru/img/language.svg | 710 +++++++
ru/img/logo.svg | 1 +
ru/img/model-dark.png | Bin 0 -> 21754 bytes
ru/img/model.png | Bin 0 -> 8670 bytes
ru/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
ru/img/role.png | Bin 0 -> 78158 bytes
ru/img/scale.png | Bin 0 -> 16385 bytes
ru/img/storage-dark.png | Bin 0 -> 19568 bytes
ru/img/storage.png | Bin 0 -> 26864 bytes
ru/img/storage.svg | 477 +++++
ru/img/store.png | Bin 0 -> 35459 bytes
ru/img/store.svg | 2005 ++++++++++++++++++++
ru/img/tutorial/acl.png | Bin 0 -> 633359 bytes
ru/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
ru/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
ru/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
ru/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
ru/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
ru/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
ru/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
ru/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
ru/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
ru/img/undraw_docusaurus_mountain.svg | 170 ++
ru/img/undraw_docusaurus_react.svg | 169 ++
ru/img/undraw_docusaurus_tree.svg | 1 +
ru/img/users/360.png | Bin 0 -> 15651 bytes
ru/img/users/alibaba.png | Bin 0 -> 160461 bytes
ru/img/users/bose.png | Bin 0 -> 3360 bytes
ru/img/users/bytebase.png | Bin 0 -> 11023 bytes
ru/img/users/cisco.png | Bin 0 -> 10262 bytes
ru/img/users/docker.png | Bin 0 -> 6192 bytes
ru/img/users/elastic.png | Bin 0 -> 42387 bytes
ru/img/users/eth.png | Bin 0 -> 46321 bytes
ru/img/users/f5.png | Bin 0 -> 49662 bytes
ru/img/users/honeywell.png | Bin 0 -> 57802 bytes
ru/img/users/hpe.png | Bin 0 -> 32136 bytes
ru/img/users/ibm.png | Bin 0 -> 24323 bytes
ru/img/users/intel.png | Bin 0 -> 17619 bytes
ru/img/users/jdlt.png | Bin 0 -> 13501 bytes
ru/img/users/microsoft.png | Bin 0 -> 13325 bytes
ru/img/users/musma.png | Bin 0 -> 9343 bytes
ru/img/users/ontario.png | Bin 0 -> 38267 bytes
ru/img/users/orange.png | Bin 0 -> 5217 bytes
ru/img/users/pulsar.png | Bin 0 -> 8905 bytes
ru/img/users/redhat.png | Bin 0 -> 33950 bytes
ru/img/users/rspacex.png | Bin 0 -> 52166 bytes
ru/img/users/se.png | Bin 0 -> 2963 bytes
ru/img/users/siemens.png | Bin 0 -> 5285 bytes
ru/img/users/t-mobile.png | Bin 0 -> 74117 bytes
ru/img/users/tencent.png | Bin 0 -> 10932 bytes
ru/img/users/verizon.png | Bin 0 -> 22526 bytes
ru/img/users/vmware.png | Bin 0 -> 10251 bytes
ru/img/users/zilliz.png | Bin 0 -> 7611 bytes
ru/index.html | 88 +
ru/js/clarity.js | 5 +
ru/js/hotjar.js | 12 +
ru/js/probe.js | 1 +
ru/js/tawk.js | 9 +
ru/opensearch.xml | 11 +
ru/robots.txt | 2 +
ru/search/index.html | 88 +
ru/sitemap.xml | 1 +
ru/users/index.html | 88 +
search/index.html | 88 +
sitemap.xml | 1 +
th/.nojekyll | 0
th/404.html | 88 +
th/assets/css/styles.460e6a66.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
th/assets/js/002669fe.0439737d.js | 1 +
th/assets/js/01a85c17.dce7d51e.js | 1 +
th/assets/js/0567342a.250b7503.js | 1 +
th/assets/js/07522cde.53cddd09.js | 1 +
th/assets/js/0d812151.825500fc.js | 1 +
th/assets/js/0dca54f9.a84e0b8a.js | 1 +
th/assets/js/0e536f31.cfabf99e.js | 1 +
th/assets/js/1047fddb.b3314fca.js | 1 +
th/assets/js/10ef4aa2.c3817667.js | 1 +
th/assets/js/13c65bf9.ff1547e4.js | 1 +
th/assets/js/14eb3368.ee36e5dc.js | 1 +
th/assets/js/17896441.1c55263e.js | 1 +
th/assets/js/18217b7e.17aca24c.js | 1 +
th/assets/js/186863e3.7d21ff20.js | 1 +
th/assets/js/18d3f07a.dab2e70d.js | 1 +
th/assets/js/1a4e3797.607f840a.js | 1 +
th/assets/js/1ad270c9.7b2626fc.js | 1 +
th/assets/js/1c5936e0.5f366cf6.js | 1 +
th/assets/js/2143.631f9abc.js | 1 +
th/assets/js/2237.4c917a91.js | 1 +
th/assets/js/2693.aae57f15.js | 2 +
th/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
th/assets/js/28e7722a.7b977495.js | 1 +
th/assets/js/2a11000c.e95b5902.js | 1 +
th/assets/js/2a73dece.f4f6928e.js | 1 +
th/assets/js/2a900a86.472cd4ce.js | 1 +
th/assets/js/3347.442b4917.js | 1 +
th/assets/js/3362e121.70333acb.js | 1 +
th/assets/js/36994c47.a0416590.js | 1 +
th/assets/js/37eb032b.e1ee2e9f.js | 1 +
th/assets/js/3955.118925ae.js | 25 +
th/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
th/assets/js/3998f23f.242aed3b.js | 1 +
th/assets/js/39df65fa.d59830a9.js | 1 +
th/assets/js/3ef399d3.e4f78f49.js | 1 +
th/assets/js/416.ffc71866.js | 1 +
th/assets/js/465a4ba9.37e78317.js | 1 +
th/assets/js/4f30f482.2a17fb18.js | 1 +
th/assets/js/4f5a4f8b.4d2b00b1.js | 1 +
th/assets/js/51e8fa9d.fbac7e65.js | 1 +
th/assets/js/576147b3.755da730.js | 1 +
th/assets/js/57a37190.ddf1b2ac.js | 1 +
th/assets/js/5e3371a0.b61d4ae4.js | 1 +
th/assets/js/5e4b4e89.dc4266c3.js | 1 +
th/assets/js/5e95c892.4d39f66c.js | 1 +
th/assets/js/5eb2f05f.0d9323ea.js | 1 +
th/assets/js/621db11d.e8bb016f.js | 1 +
th/assets/js/655a3bc0.5010d42d.js | 1 +
th/assets/js/6875c492.1b5dc22a.js | 1 +
th/assets/js/6e02b102.cf90729f.js | 1 +
th/assets/js/7024f7b0.4dcb97dd.js | 1 +
th/assets/js/72f71797.f4db0daa.js | 1 +
th/assets/js/75b4a0a6.89d6c75e.js | 1 +
th/assets/js/7d540e6b.0593e543.js | 1 +
th/assets/js/7e37206e.68dee4e3.js | 1 +
th/assets/js/7fb876c6.987204ce.js | 1 +
th/assets/js/814f3328.f87a8d2c.js | 1 +
th/assets/js/819beb6e.7a8edb25.js | 1 +
th/assets/js/84fae5b8.4f2eec5d.js | 1 +
th/assets/js/873afffa.e60fe69e.js | 1 +
th/assets/js/8913.dcb61d6c.js | 1 +
th/assets/js/8958034b.894e436e.js | 1 +
th/assets/js/89778a38.32965abe.js | 1 +
th/assets/js/8a84d11e.41dbecbf.js | 1 +
th/assets/js/8c7dce50.c24bb906.js | 1 +
th/assets/js/8deb2715.ae3e5137.js | 1 +
th/assets/js/8ea357f9.9d954c91.js | 1 +
th/assets/js/92b6187f.53779650.js | 1 +
th/assets/js/93916aee.38a12fde.js | 1 +
th/assets/js/942de1b9.06466dcc.js | 1 +
th/assets/js/948ac4b1.e2f49543.js | 1 +
th/assets/js/957fd7df.cac27a89.js | 1 +
th/assets/js/9785.a386bbff.js | 1 +
th/assets/js/989b9bf9.e656cc4a.js | 1 +
th/assets/js/99a94c26.43b06d19.js | 1 +
th/assets/js/9bf14a9b.3dd118ab.js | 1 +
th/assets/js/9d84e8f5.dac19889.js | 1 +
th/assets/js/9e132faf.789318cd.js | 1 +
th/assets/js/9e4087bc.9269875d.js | 1 +
th/assets/js/a129ce82.7c63f54d.js | 1 +
th/assets/js/a23ddf42.89e24bca.js | 1 +
th/assets/js/a2a7c6b4.96184aca.js | 1 +
th/assets/js/a3ff937b.92ffb609.js | 1 +
th/assets/js/a4251721.75bf754a.js | 1 +
th/assets/js/a5f2da68.f53b8ea3.js | 1 +
th/assets/js/a6aa9e1f.165a5b46.js | 1 +
th/assets/js/a7456010.4ce1f9e1.js | 1 +
th/assets/js/a7bd4aaa.fea2f11b.js | 1 +
th/assets/js/a90d78d6.bc8b2b84.js | 1 +
th/assets/js/a94703ab.c810baba.js | 1 +
th/assets/js/ab54bc4d.f09490db.js | 1 +
th/assets/js/aba21aa0.8989bbd3.js | 1 +
th/assets/js/ac526fa3.8bee25bc.js | 1 +
th/assets/js/acecf23e.e70f9298.js | 1 +
th/assets/js/adc1d8a0.e52016d6.js | 1 +
th/assets/js/af913d4d.b93183a2.js | 1 +
th/assets/js/b403eedf.284f291e.js | 1 +
th/assets/js/b475bad2.d9711f5a.js | 1 +
th/assets/js/b4d46a89.9ce11545.js | 1 +
th/assets/js/b51df3ad.327a5d9b.js | 1 +
th/assets/js/b62887e6.8839aef5.js | 1 +
th/assets/js/b742bbd8.7f601aea.js | 1 +
th/assets/js/bbbd0867.de506e0f.js | 1 +
th/assets/js/bc3ce205.fa7a6b96.js | 1 +
th/assets/js/c141421f.266bc054.js | 1 +
th/assets/js/c1c17b91.f1753625.js | 1 +
th/assets/js/c2686fdd.aba6e473.js | 1 +
th/assets/js/c4f5d8e4.d849bf54.js | 2 +
th/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
th/assets/js/c96cbfa6.ccbe0211.js | 1 +
th/assets/js/cae5fd4a.61d0f2a3.js | 1 +
th/assets/js/ccc49370.dab9e754.js | 1 +
th/assets/js/cdecc2c3.0ef63a22.js | 1 +
th/assets/js/d05d038b.9b465c40.js | 1 +
th/assets/js/d3d83fa9.628031ce.js | 1 +
th/assets/js/d841694f.93a35cf8.js | 1 +
th/assets/js/dfcacd34.43ac2d9a.js | 1 +
th/assets/js/e1d5f77e.635003e4.js | 1 +
th/assets/js/e4b3c48e.b4809bb4.js | 1 +
th/assets/js/e6b2e5ee.1fa2c2c5.js | 1 +
th/assets/js/e74a79a5.95553122.js | 1 +
th/assets/js/e7665c8e.aa2ce9e0.js | 1 +
th/assets/js/e853a9fb.60120866.js | 1 +
th/assets/js/ed34730d.9ae9972e.js | 1 +
th/assets/js/f45d7b41.393a85c7.js | 1 +
th/assets/js/f4d59ab4.790c95fe.js | 1 +
th/assets/js/f6859dc9.22d454d7.js | 1 +
th/assets/js/f70b4eae.00d90ac9.js | 1 +
th/assets/js/f730795a.6de0cb72.js | 1 +
th/assets/js/fbb99c79.7b4a3caf.js | 1 +
th/assets/js/fd0c4fdc.059d1ca5.js | 1 +
th/assets/js/fd9d9c89.1b90b4d4.js | 1 +
th/assets/js/main.17820488.js | 2 +
th/assets/js/main.17820488.js.LICENSE.txt | 51 +
th/assets/js/runtime~main.5633653d.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
th/blog/2018/08/27/node-casbin/index.html | 91 +
th/blog/2018/09/23/new-website/index.html | 90 +
th/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
th/blog/archive/index.html | 88 +
th/blog/atom.xml | 277 +++
th/blog/authors/index.html | 88 +
th/blog/casbin-2025-ai-agent-era/index.html | 123 ++
th/blog/index.html | 90 +
th/blog/rss.xml | 251 +++
th/blog/tags/ai/index.html | 88 +
th/blog/tags/casbin/index.html | 88 +
th/blog/tags/edge-computing/index.html | 88 +
th/blog/tags/index.html | 88 +
th/blog/tags/llm/index.html | 88 +
th/blog/tags/mcp/index.html | 88 +
th/blog/tags/roadmap/index.html | 88 +
th/casbin-editor/index.html | 29 +
th/data/users.json | 170 ++
th/docs/abac/index.html | 112 ++
th/docs/adapters/index.html | 178 ++
th/docs/admin-portal/index.html | 92 +
th/docs/adopters/index.html | 92 +
th/docs/api-overview/index.html | 154 ++
th/docs/benchmark/index.html | 93 +
th/docs/biba/index.html | 134 ++
th/docs/blp/index.html | 123 ++
th/docs/category/about--more/index.html | 88 +
th/docs/category/access-control-models/index.html | 88 +
th/docs/category/advanced-usage/index.html | 88 +
th/docs/category/api/index.html | 88 +
th/docs/category/basics/index.html | 88 +
th/docs/category/editors--tools/index.html | 88 +
th/docs/category/management/index.html | 88 +
th/docs/category/storage/index.html | 88 +
th/docs/category/use-cases/index.html | 88 +
th/docs/cloud-native/index.html | 90 +
th/docs/command-line-tools/index.html | 189 ++
th/docs/contributing/index.html | 130 ++
th/docs/data-permissions/index.html | 94 +
th/docs/dispatchers/index.html | 95 +
th/docs/effector/index.html | 103 +
th/docs/enforcers/index.html | 91 +
th/docs/envoy/index.html | 121 ++
th/docs/frontend/index.html | 138 ++
th/docs/function/index.html | 121 ++
th/docs/get-started/index.html | 108 ++
th/docs/graphql-middlewares/index.html | 92 +
th/docs/how-it-works/index.html | 125 ++
th/docs/ide-plugins/index.html | 97 +
th/docs/k8s-gatekeeper/index.html | 290 +++
th/docs/kong-authz/index.html | 157 ++
th/docs/lbac/index.html | 124 ++
th/docs/log-error/index.html | 119 ++
th/docs/mac-overview/index.html | 109 ++
th/docs/management-api/index.html | 383 ++++
th/docs/menu-permissions/index.html | 128 ++
th/docs/middlewares/index.html | 92 +
th/docs/model-storage/index.html | 101 +
th/docs/multi-threading/index.html | 89 +
th/docs/online-editor/index.html | 109 ++
th/docs/orbac/index.html | 121 ++
th/docs/overview/index.html | 114 ++
th/docs/pbac/index.html | 116 ++
th/docs/performance/index.html | 102 +
th/docs/plugins-overview/index.html | 105 +
th/docs/policy-storage/index.html | 107 ++
th/docs/policy-subset-loading/index.html | 92 +
th/docs/priority-model/index.html | 118 ++
th/docs/privacy-policy/index.html | 95 +
th/docs/rbac-96/index.html | 99 +
th/docs/rbac-api/index.html | 278 +++
th/docs/rbac-overview/index.html | 104 +
th/docs/rbac-with-conditions-api/index.html | 101 +
th/docs/rbac-with-conditions/index.html | 112 ++
th/docs/rbac-with-domains-api/index.html | 131 ++
th/docs/rbac-with-domains/index.html | 103 +
th/docs/rbac-with-pattern/index.html | 119 ++
th/docs/rbac/index.html | 116 ++
th/docs/rebac/index.html | 106 ++
th/docs/role-managers/index.html | 91 +
th/docs/rolemanager-api/index.html | 135 ++
th/docs/service/index.html | 89 +
th/docs/superadmin/index.html | 90 +
th/docs/supported-models/index.html | 110 ++
th/docs/syntax-for-models/index.html | 162 ++
th/docs/terms-of-service/index.html | 110 ++
th/docs/tutorials/index.html | 140 ++
th/docs/ucon/index.html | 139 ++
th/docs/watchers/index.html | 95 +
th/ecosystem/index.html | 88 +
th/editor/index.html | 88 +
th/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
th/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
th/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
th/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
th/gallery/index.html | 88 +
th/help/index.html | 88 +
th/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
th/img/background.png | Bin 0 -> 429128 bytes
th/img/blog/model.png | Bin 0 -> 823392 bytes
th/img/casbin.svg | 10 +
th/img/casbin_min.svg | 9 +
th/img/docusaurus.png | Bin 0 -> 5142 bytes
th/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
th/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
th/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
th/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
th/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
th/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
th/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
th/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
th/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
th/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
th/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
th/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
th/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
th/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
th/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
th/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
th/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
th/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
th/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
th/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
th/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
th/img/ecosystem/django.png | Bin 0 -> 3266 bytes
th/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
th/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
th/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
th/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
th/img/ecosystem/express.png | Bin 0 -> 2942 bytes
th/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
th/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
th/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
th/img/ecosystem/file.png | Bin 0 -> 2099 bytes
th/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
th/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
th/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
th/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
th/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
th/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
th/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
th/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
th/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
th/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
th/img/ecosystem/http.png | Bin 0 -> 2071 bytes
th/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
th/img/ecosystem/json.png | Bin 0 -> 2396 bytes
th/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
th/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
th/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
th/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
th/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
th/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
th/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
th/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
th/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
th/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
th/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
th/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
th/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
th/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
th/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
th/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
th/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
th/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
th/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
th/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
th/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
th/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
th/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
th/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
th/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
th/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
th/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
th/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
th/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
th/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
th/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
th/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
th/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
th/img/ecosystem/session.png | Bin 0 -> 3129 bytes
th/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
th/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
th/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
th/img/ecosystem/string.png | Bin 0 -> 5368 bytes
th/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
th/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
th/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
th/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
th/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
th/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
th/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
th/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
th/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
th/img/editor-ai.png | Bin 0 -> 271698 bytes
th/img/editor-endpoint.png | Bin 0 -> 57531 bytes
th/img/editor-engine.png | Bin 0 -> 105638 bytes
th/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
th/img/editor-tips.png | Bin 0 -> 12133 bytes
th/img/editor-upload.png | Bin 0 -> 36050 bytes
th/img/favicon.ico | Bin 0 -> 3626 bytes
th/img/favicon.png | Bin 0 -> 10527 bytes
th/img/github.png | Bin 0 -> 23729 bytes
th/img/langs/cpp.png | Bin 0 -> 21992 bytes
th/img/langs/delphi.png | Bin 0 -> 30246 bytes
th/img/langs/dotnet.png | Bin 0 -> 41524 bytes
th/img/langs/golang.png | Bin 0 -> 54614 bytes
th/img/langs/java.png | Bin 0 -> 16040 bytes
th/img/langs/nodejs.png | Bin 0 -> 27603 bytes
th/img/langs/php.png | Bin 0 -> 42168 bytes
th/img/langs/python.png | Bin 0 -> 20755 bytes
th/img/langs/rust.png | Bin 0 -> 8291 bytes
th/img/language-dark.png | Bin 0 -> 30816 bytes
th/img/language.png | Bin 0 -> 50757 bytes
th/img/language.svg | 710 +++++++
th/img/logo.svg | 1 +
th/img/model-dark.png | Bin 0 -> 21754 bytes
th/img/model.png | Bin 0 -> 8670 bytes
th/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
th/img/role.png | Bin 0 -> 78158 bytes
th/img/scale.png | Bin 0 -> 16385 bytes
th/img/storage-dark.png | Bin 0 -> 19568 bytes
th/img/storage.png | Bin 0 -> 26864 bytes
th/img/storage.svg | 477 +++++
th/img/store.png | Bin 0 -> 35459 bytes
th/img/store.svg | 2005 ++++++++++++++++++++
th/img/tutorial/acl.png | Bin 0 -> 633359 bytes
th/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
th/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
th/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
th/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
th/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
th/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
th/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
th/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
th/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
th/img/undraw_docusaurus_mountain.svg | 170 ++
th/img/undraw_docusaurus_react.svg | 169 ++
th/img/undraw_docusaurus_tree.svg | 1 +
th/img/users/360.png | Bin 0 -> 15651 bytes
th/img/users/alibaba.png | Bin 0 -> 160461 bytes
th/img/users/bose.png | Bin 0 -> 3360 bytes
th/img/users/bytebase.png | Bin 0 -> 11023 bytes
th/img/users/cisco.png | Bin 0 -> 10262 bytes
th/img/users/docker.png | Bin 0 -> 6192 bytes
th/img/users/elastic.png | Bin 0 -> 42387 bytes
th/img/users/eth.png | Bin 0 -> 46321 bytes
th/img/users/f5.png | Bin 0 -> 49662 bytes
th/img/users/honeywell.png | Bin 0 -> 57802 bytes
th/img/users/hpe.png | Bin 0 -> 32136 bytes
th/img/users/ibm.png | Bin 0 -> 24323 bytes
th/img/users/intel.png | Bin 0 -> 17619 bytes
th/img/users/jdlt.png | Bin 0 -> 13501 bytes
th/img/users/microsoft.png | Bin 0 -> 13325 bytes
th/img/users/musma.png | Bin 0 -> 9343 bytes
th/img/users/ontario.png | Bin 0 -> 38267 bytes
th/img/users/orange.png | Bin 0 -> 5217 bytes
th/img/users/pulsar.png | Bin 0 -> 8905 bytes
th/img/users/redhat.png | Bin 0 -> 33950 bytes
th/img/users/rspacex.png | Bin 0 -> 52166 bytes
th/img/users/se.png | Bin 0 -> 2963 bytes
th/img/users/siemens.png | Bin 0 -> 5285 bytes
th/img/users/t-mobile.png | Bin 0 -> 74117 bytes
th/img/users/tencent.png | Bin 0 -> 10932 bytes
th/img/users/verizon.png | Bin 0 -> 22526 bytes
th/img/users/vmware.png | Bin 0 -> 10251 bytes
th/img/users/zilliz.png | Bin 0 -> 7611 bytes
th/index.html | 88 +
th/js/clarity.js | 5 +
th/js/hotjar.js | 12 +
th/js/probe.js | 1 +
th/js/tawk.js | 9 +
th/opensearch.xml | 11 +
th/robots.txt | 2 +
th/search/index.html | 88 +
th/sitemap.xml | 1 +
th/users/index.html | 88 +
tr/.nojekyll | 0
tr/404.html | 88 +
tr/assets/css/styles.12c08b62.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
tr/assets/js/01a85c17.dce7d51e.js | 1 +
tr/assets/js/041d1bbb.6286be3c.js | 1 +
tr/assets/js/058686ff.7a0d4252.js | 1 +
tr/assets/js/0abf887b.579a3312.js | 1 +
tr/assets/js/0b43a7e0.56642024.js | 1 +
tr/assets/js/0c45c43a.73f7ba7c.js | 1 +
tr/assets/js/0cb5d803.84c47cca.js | 1 +
tr/assets/js/0e07b1d6.bd2286fe.js | 1 +
tr/assets/js/0e6d6865.f98116e2.js | 1 +
tr/assets/js/108f79b3.11106d2b.js | 1 +
tr/assets/js/129fd9fb.62b7fec0.js | 1 +
tr/assets/js/138296ea.9c666c4c.js | 1 +
tr/assets/js/14eb3368.ee36e5dc.js | 1 +
tr/assets/js/17896441.1c55263e.js | 1 +
tr/assets/js/186863e3.7d21ff20.js | 1 +
tr/assets/js/193d1eaf.dbe2c1d6.js | 1 +
tr/assets/js/1a4e3797.607f840a.js | 1 +
tr/assets/js/1e94770b.b0befbf0.js | 1 +
tr/assets/js/2143.631f9abc.js | 1 +
tr/assets/js/2237.4c917a91.js | 1 +
tr/assets/js/2693.aae57f15.js | 2 +
tr/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
tr/assets/js/27bde834.623a6b9a.js | 1 +
tr/assets/js/299577b7.b1276dc1.js | 1 +
tr/assets/js/2bf77783.fe8e063e.js | 1 +
tr/assets/js/2d066142.169acae6.js | 1 +
tr/assets/js/332a77d8.8bcd0f5a.js | 1 +
tr/assets/js/3347.442b4917.js | 1 +
tr/assets/js/3362e121.70333acb.js | 1 +
tr/assets/js/36994c47.a0416590.js | 1 +
tr/assets/js/3955.118925ae.js | 25 +
tr/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
tr/assets/js/3cd1bb17.47adbfa8.js | 1 +
tr/assets/js/3d1a1e4c.4285a90f.js | 1 +
tr/assets/js/3eee2bc1.f4da51c3.js | 1 +
tr/assets/js/416.ffc71866.js | 1 +
tr/assets/js/462e0596.a35d7b94.js | 1 +
tr/assets/js/46f9c0af.991ac56d.js | 1 +
tr/assets/js/4af62365.6b9e6f26.js | 1 +
tr/assets/js/4c7f718b.c3d770b3.js | 1 +
tr/assets/js/4dd636e6.959fd987.js | 1 +
tr/assets/js/506a946a.9c0c3527.js | 1 +
tr/assets/js/50bf517c.e892d679.js | 1 +
tr/assets/js/5b888d30.4adf3e3e.js | 1 +
tr/assets/js/5ba7ff05.bfe40ce4.js | 1 +
tr/assets/js/5e95c892.4d39f66c.js | 1 +
tr/assets/js/6197e9a8.7971e2cc.js | 1 +
tr/assets/js/621db11d.e8bb016f.js | 1 +
tr/assets/js/641f3b82.d2f946a0.js | 1 +
tr/assets/js/67c5b21f.fcf1dfe2.js | 1 +
tr/assets/js/6875c492.1b5dc22a.js | 1 +
tr/assets/js/6a6d5aed.471f085d.js | 1 +
tr/assets/js/74978232.09d0e8dc.js | 1 +
tr/assets/js/76ebe150.45974bdf.js | 1 +
tr/assets/js/781a0d25.90989a42.js | 1 +
tr/assets/js/7b269111.9fadcd90.js | 1 +
tr/assets/js/7b65b272.82fe7564.js | 1 +
tr/assets/js/7c9bfd72.26a39c8a.js | 1 +
tr/assets/js/7e37206e.68dee4e3.js | 1 +
tr/assets/js/7eba2498.e7afbbb5.js | 1 +
tr/assets/js/8128ab7b.422f8a20.js | 1 +
tr/assets/js/814f3328.93dfc82a.js | 1 +
tr/assets/js/81e5d108.59d7139a.js | 1 +
tr/assets/js/8913.dcb61d6c.js | 1 +
tr/assets/js/8a81ff9f.f100fa7d.js | 1 +
tr/assets/js/8bd0bb14.e0b40a59.js | 1 +
tr/assets/js/8df9ac5b.602e2ade.js | 1 +
tr/assets/js/8e005eab.73b429c9.js | 1 +
tr/assets/js/9065668b.f605a943.js | 1 +
tr/assets/js/9233edb3.4545e156.js | 1 +
tr/assets/js/93467c12.55389890.js | 1 +
tr/assets/js/93b5de18.ed166fe4.js | 1 +
tr/assets/js/964089c9.90599684.js | 1 +
tr/assets/js/9785.a386bbff.js | 1 +
tr/assets/js/9aae0bbb.08d16a95.js | 1 +
tr/assets/js/9b55088e.98824ab6.js | 1 +
tr/assets/js/9dcb5582.d8ab8b3c.js | 1 +
tr/assets/js/9e4087bc.9269875d.js | 1 +
tr/assets/js/a09caa34.c9feb11e.js | 1 +
tr/assets/js/a6aa9e1f.165a5b46.js | 1 +
tr/assets/js/a7456010.4ce1f9e1.js | 1 +
tr/assets/js/a7bd4aaa.fea2f11b.js | 1 +
tr/assets/js/a94703ab.c810baba.js | 1 +
tr/assets/js/aaf59e6a.ac9ab907.js | 1 +
tr/assets/js/aba21aa0.8989bbd3.js | 1 +
tr/assets/js/aca54ab3.dcb289c5.js | 1 +
tr/assets/js/acec79d3.bb6e4bbf.js | 1 +
tr/assets/js/acecf23e.285e90b9.js | 1 +
tr/assets/js/ad0502e5.7aaa5014.js | 1 +
tr/assets/js/adbf1a76.3e6e8559.js | 1 +
tr/assets/js/af913d4d.b93183a2.js | 1 +
tr/assets/js/b03812b0.be0552ae.js | 1 +
tr/assets/js/b0ac1428.14894a81.js | 1 +
tr/assets/js/b8abe27e.5a314fa2.js | 1 +
tr/assets/js/b9ddd47c.bc0bd208.js | 1 +
tr/assets/js/b9ea30d4.4a572f24.js | 1 +
tr/assets/js/ba0b2445.aafbb512.js | 1 +
tr/assets/js/bc44f3f7.f5b7dfa2.js | 1 +
tr/assets/js/bd1d9da3.88460254.js | 1 +
tr/assets/js/be9680be.4bd84b71.js | 1 +
tr/assets/js/bfae0c91.113a6e87.js | 1 +
tr/assets/js/c024886b.96fda938.js | 1 +
tr/assets/js/c141421f.266bc054.js | 1 +
tr/assets/js/c4f5d8e4.d849bf54.js | 2 +
tr/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
tr/assets/js/c652fed3.a712c6a3.js | 1 +
tr/assets/js/c87d3560.ab3b9c93.js | 1 +
tr/assets/js/c8ae2146.f47970b6.js | 1 +
tr/assets/js/ca146187.a79e97ac.js | 1 +
tr/assets/js/cc61125d.976bf327.js | 1 +
tr/assets/js/ccc49370.dab9e754.js | 1 +
tr/assets/js/cd769f21.34d3ad7c.js | 1 +
tr/assets/js/cfc5aed7.0e2e7a63.js | 1 +
tr/assets/js/d204c45b.90db459d.js | 1 +
tr/assets/js/d22ce42b.ea8a2123.js | 1 +
tr/assets/js/d37ba0e1.cbe4482d.js | 1 +
tr/assets/js/d4bd44bf.64863192.js | 1 +
tr/assets/js/d55b7cd1.cde6a2e7.js | 1 +
tr/assets/js/d71dd243.37b89d1c.js | 1 +
tr/assets/js/d78ebe26.766b3a1a.js | 1 +
tr/assets/js/e33857cf.2f486486.js | 1 +
tr/assets/js/e473a65c.870bf668.js | 1 +
tr/assets/js/e50f91d7.4b89848c.js | 1 +
tr/assets/js/e74a79a5.95553122.js | 1 +
tr/assets/js/e92b9c95.2d61a336.js | 1 +
tr/assets/js/e9c17ef0.9df88459.js | 1 +
tr/assets/js/ecea2730.99642c99.js | 1 +
tr/assets/js/ef1b94f5.9da18548.js | 1 +
tr/assets/js/f2df03ae.7aca69cd.js | 1 +
tr/assets/js/fc23c423.cbabc951.js | 1 +
tr/assets/js/fc40fa88.628ae343.js | 1 +
tr/assets/js/fd9d9c89.1b90b4d4.js | 1 +
tr/assets/js/main.bec69a5e.js | 2 +
tr/assets/js/main.bec69a5e.js.LICENSE.txt | 51 +
tr/assets/js/runtime~main.e1293322.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
tr/blog/2018/08/27/node-casbin/index.html | 91 +
tr/blog/2018/09/23/new-website/index.html | 90 +
tr/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
tr/blog/archive/index.html | 88 +
tr/blog/atom.xml | 277 +++
tr/blog/authors/index.html | 88 +
tr/blog/casbin-2025-ai-agent-era/index.html | 123 ++
tr/blog/index.html | 90 +
tr/blog/rss.xml | 251 +++
tr/blog/tags/ai/index.html | 88 +
tr/blog/tags/casbin/index.html | 88 +
tr/blog/tags/edge-computing/index.html | 88 +
tr/blog/tags/index.html | 88 +
tr/blog/tags/llm/index.html | 88 +
tr/blog/tags/mcp/index.html | 88 +
tr/blog/tags/roadmap/index.html | 88 +
tr/casbin-editor/index.html | 29 +
tr/data/users.json | 170 ++
tr/docs/abac/index.html | 112 ++
tr/docs/adapters/index.html | 178 ++
tr/docs/admin-portal/index.html | 92 +
tr/docs/adopters/index.html | 92 +
tr/docs/api-overview/index.html | 154 ++
tr/docs/benchmark/index.html | 93 +
tr/docs/biba/index.html | 134 ++
tr/docs/blp/index.html | 123 ++
tr/docs/category/about--more/index.html | 88 +
tr/docs/category/access-control-models/index.html | 88 +
tr/docs/category/advanced-usage/index.html | 88 +
tr/docs/category/api/index.html | 88 +
tr/docs/category/basics/index.html | 88 +
tr/docs/category/editors--tools/index.html | 88 +
tr/docs/category/management/index.html | 88 +
tr/docs/category/storage/index.html | 88 +
tr/docs/category/use-cases/index.html | 88 +
tr/docs/cloud-native/index.html | 90 +
tr/docs/command-line-tools/index.html | 189 ++
tr/docs/contributing/index.html | 130 ++
tr/docs/data-permissions/index.html | 94 +
tr/docs/dispatchers/index.html | 95 +
tr/docs/effector/index.html | 103 +
tr/docs/enforcers/index.html | 91 +
tr/docs/envoy/index.html | 121 ++
tr/docs/frontend/index.html | 138 ++
tr/docs/function/index.html | 121 ++
tr/docs/get-started/index.html | 108 ++
tr/docs/graphql-middlewares/index.html | 92 +
tr/docs/how-it-works/index.html | 125 ++
tr/docs/ide-plugins/index.html | 97 +
tr/docs/k8s-gatekeeper/index.html | 290 +++
tr/docs/kong-authz/index.html | 157 ++
tr/docs/lbac/index.html | 124 ++
tr/docs/log-error/index.html | 119 ++
tr/docs/mac-overview/index.html | 109 ++
tr/docs/management-api/index.html | 383 ++++
tr/docs/menu-permissions/index.html | 128 ++
tr/docs/middlewares/index.html | 92 +
tr/docs/model-storage/index.html | 101 +
tr/docs/multi-threading/index.html | 89 +
tr/docs/online-editor/index.html | 109 ++
tr/docs/orbac/index.html | 121 ++
tr/docs/overview/index.html | 114 ++
tr/docs/pbac/index.html | 116 ++
tr/docs/performance/index.html | 102 +
tr/docs/plugins-overview/index.html | 105 +
tr/docs/policy-storage/index.html | 107 ++
tr/docs/policy-subset-loading/index.html | 92 +
tr/docs/priority-model/index.html | 118 ++
tr/docs/privacy-policy/index.html | 95 +
tr/docs/rbac-96/index.html | 99 +
tr/docs/rbac-api/index.html | 278 +++
tr/docs/rbac-overview/index.html | 104 +
tr/docs/rbac-with-conditions-api/index.html | 101 +
tr/docs/rbac-with-conditions/index.html | 112 ++
tr/docs/rbac-with-domains-api/index.html | 131 ++
tr/docs/rbac-with-domains/index.html | 103 +
tr/docs/rbac-with-pattern/index.html | 119 ++
tr/docs/rbac/index.html | 116 ++
tr/docs/rebac/index.html | 106 ++
tr/docs/role-managers/index.html | 91 +
tr/docs/rolemanager-api/index.html | 135 ++
tr/docs/service/index.html | 89 +
tr/docs/superadmin/index.html | 90 +
tr/docs/supported-models/index.html | 110 ++
tr/docs/syntax-for-models/index.html | 162 ++
tr/docs/terms-of-service/index.html | 110 ++
tr/docs/tutorials/index.html | 140 ++
tr/docs/ucon/index.html | 139 ++
tr/docs/watchers/index.html | 95 +
tr/ecosystem/index.html | 88 +
tr/editor/index.html | 88 +
tr/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
tr/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
tr/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
tr/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
tr/gallery/index.html | 88 +
tr/help/index.html | 88 +
tr/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
tr/img/background.png | Bin 0 -> 429128 bytes
tr/img/blog/model.png | Bin 0 -> 823392 bytes
tr/img/casbin.svg | 10 +
tr/img/casbin_min.svg | 9 +
tr/img/docusaurus.png | Bin 0 -> 5142 bytes
tr/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
tr/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
tr/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
tr/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
tr/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
tr/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
tr/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
tr/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
tr/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
tr/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
tr/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
tr/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
tr/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
tr/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
tr/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
tr/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
tr/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
tr/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
tr/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
tr/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
tr/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
tr/img/ecosystem/django.png | Bin 0 -> 3266 bytes
tr/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
tr/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
tr/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
tr/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
tr/img/ecosystem/express.png | Bin 0 -> 2942 bytes
tr/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
tr/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
tr/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
tr/img/ecosystem/file.png | Bin 0 -> 2099 bytes
tr/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
tr/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
tr/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
tr/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
tr/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
tr/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
tr/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
tr/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
tr/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
tr/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
tr/img/ecosystem/http.png | Bin 0 -> 2071 bytes
tr/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
tr/img/ecosystem/json.png | Bin 0 -> 2396 bytes
tr/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
tr/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
tr/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
tr/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
tr/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
tr/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
tr/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
tr/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
tr/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
tr/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
tr/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
tr/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
tr/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
tr/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
tr/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
tr/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
tr/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
tr/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
tr/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
tr/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
tr/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
tr/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
tr/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
tr/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
tr/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
tr/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
tr/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
tr/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
tr/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
tr/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
tr/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
tr/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
tr/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
tr/img/ecosystem/session.png | Bin 0 -> 3129 bytes
tr/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
tr/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
tr/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
tr/img/ecosystem/string.png | Bin 0 -> 5368 bytes
tr/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
tr/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
tr/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
tr/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
tr/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
tr/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
tr/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
tr/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
tr/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
tr/img/editor-ai.png | Bin 0 -> 271698 bytes
tr/img/editor-endpoint.png | Bin 0 -> 57531 bytes
tr/img/editor-engine.png | Bin 0 -> 105638 bytes
tr/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
tr/img/editor-tips.png | Bin 0 -> 12133 bytes
tr/img/editor-upload.png | Bin 0 -> 36050 bytes
tr/img/favicon.ico | Bin 0 -> 3626 bytes
tr/img/favicon.png | Bin 0 -> 10527 bytes
tr/img/github.png | Bin 0 -> 23729 bytes
tr/img/langs/cpp.png | Bin 0 -> 21992 bytes
tr/img/langs/delphi.png | Bin 0 -> 30246 bytes
tr/img/langs/dotnet.png | Bin 0 -> 41524 bytes
tr/img/langs/golang.png | Bin 0 -> 54614 bytes
tr/img/langs/java.png | Bin 0 -> 16040 bytes
tr/img/langs/nodejs.png | Bin 0 -> 27603 bytes
tr/img/langs/php.png | Bin 0 -> 42168 bytes
tr/img/langs/python.png | Bin 0 -> 20755 bytes
tr/img/langs/rust.png | Bin 0 -> 8291 bytes
tr/img/language-dark.png | Bin 0 -> 30816 bytes
tr/img/language.png | Bin 0 -> 50757 bytes
tr/img/language.svg | 710 +++++++
tr/img/logo.svg | 1 +
tr/img/model-dark.png | Bin 0 -> 21754 bytes
tr/img/model.png | Bin 0 -> 8670 bytes
tr/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
tr/img/role.png | Bin 0 -> 78158 bytes
tr/img/scale.png | Bin 0 -> 16385 bytes
tr/img/storage-dark.png | Bin 0 -> 19568 bytes
tr/img/storage.png | Bin 0 -> 26864 bytes
tr/img/storage.svg | 477 +++++
tr/img/store.png | Bin 0 -> 35459 bytes
tr/img/store.svg | 2005 ++++++++++++++++++++
tr/img/tutorial/acl.png | Bin 0 -> 633359 bytes
tr/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
tr/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
tr/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
tr/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
tr/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
tr/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
tr/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
tr/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
tr/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
tr/img/undraw_docusaurus_mountain.svg | 170 ++
tr/img/undraw_docusaurus_react.svg | 169 ++
tr/img/undraw_docusaurus_tree.svg | 1 +
tr/img/users/360.png | Bin 0 -> 15651 bytes
tr/img/users/alibaba.png | Bin 0 -> 160461 bytes
tr/img/users/bose.png | Bin 0 -> 3360 bytes
tr/img/users/bytebase.png | Bin 0 -> 11023 bytes
tr/img/users/cisco.png | Bin 0 -> 10262 bytes
tr/img/users/docker.png | Bin 0 -> 6192 bytes
tr/img/users/elastic.png | Bin 0 -> 42387 bytes
tr/img/users/eth.png | Bin 0 -> 46321 bytes
tr/img/users/f5.png | Bin 0 -> 49662 bytes
tr/img/users/honeywell.png | Bin 0 -> 57802 bytes
tr/img/users/hpe.png | Bin 0 -> 32136 bytes
tr/img/users/ibm.png | Bin 0 -> 24323 bytes
tr/img/users/intel.png | Bin 0 -> 17619 bytes
tr/img/users/jdlt.png | Bin 0 -> 13501 bytes
tr/img/users/microsoft.png | Bin 0 -> 13325 bytes
tr/img/users/musma.png | Bin 0 -> 9343 bytes
tr/img/users/ontario.png | Bin 0 -> 38267 bytes
tr/img/users/orange.png | Bin 0 -> 5217 bytes
tr/img/users/pulsar.png | Bin 0 -> 8905 bytes
tr/img/users/redhat.png | Bin 0 -> 33950 bytes
tr/img/users/rspacex.png | Bin 0 -> 52166 bytes
tr/img/users/se.png | Bin 0 -> 2963 bytes
tr/img/users/siemens.png | Bin 0 -> 5285 bytes
tr/img/users/t-mobile.png | Bin 0 -> 74117 bytes
tr/img/users/tencent.png | Bin 0 -> 10932 bytes
tr/img/users/verizon.png | Bin 0 -> 22526 bytes
tr/img/users/vmware.png | Bin 0 -> 10251 bytes
tr/img/users/zilliz.png | Bin 0 -> 7611 bytes
tr/index.html | 88 +
tr/js/clarity.js | 5 +
tr/js/hotjar.js | 12 +
tr/js/probe.js | 1 +
tr/js/tawk.js | 9 +
tr/opensearch.xml | 11 +
tr/robots.txt | 2 +
tr/search/index.html | 88 +
tr/sitemap.xml | 1 +
tr/users/index.html | 88 +
uk/.nojekyll | 0
uk/404.html | 88 +
uk/assets/css/styles.08db76ed.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
uk/assets/js/0022db35.eaa7db68.js | 1 +
uk/assets/js/01a85c17.dce7d51e.js | 1 +
uk/assets/js/01f4cc9b.00550f37.js | 1 +
uk/assets/js/05aa1ddc.484d0ccd.js | 1 +
uk/assets/js/06cad574.92dcddf1.js | 1 +
uk/assets/js/0b02744b.4a75432b.js | 1 +
uk/assets/js/0cf15645.c843f9c9.js | 1 +
uk/assets/js/0f3bb0f9.1bc7ee0d.js | 1 +
uk/assets/js/107542fc.ebead55c.js | 1 +
uk/assets/js/107a8745.8da13e73.js | 1 +
uk/assets/js/11f5623a.92bb5f39.js | 1 +
uk/assets/js/14eb3368.ee36e5dc.js | 1 +
uk/assets/js/15bb9349.efe87624.js | 1 +
uk/assets/js/17896441.1c55263e.js | 1 +
uk/assets/js/186863e3.7d21ff20.js | 1 +
uk/assets/js/1a4e3797.607f840a.js | 1 +
uk/assets/js/1e40757f.f0a2923e.js | 1 +
uk/assets/js/1f753602.4b921dbb.js | 1 +
uk/assets/js/2143.631f9abc.js | 1 +
uk/assets/js/2237.4c917a91.js | 1 +
uk/assets/js/2693.aae57f15.js | 2 +
uk/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
uk/assets/js/30cb666a.42f3a064.js | 1 +
uk/assets/js/31482fe2.25a16b41.js | 1 +
uk/assets/js/3347.442b4917.js | 1 +
uk/assets/js/3362e121.70333acb.js | 1 +
uk/assets/js/34fe2d74.5e8b74e2.js | 1 +
uk/assets/js/360a18b4.ce109ee7.js | 1 +
uk/assets/js/36994c47.a0416590.js | 1 +
uk/assets/js/38b4c0af.573e9951.js | 1 +
uk/assets/js/3955.118925ae.js | 25 +
uk/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
uk/assets/js/3ba33edf.8241a652.js | 1 +
uk/assets/js/416.ffc71866.js | 1 +
uk/assets/js/4199acd6.9f50efd0.js | 1 +
uk/assets/js/41ee78b1.a1b11673.js | 1 +
uk/assets/js/4227a851.6df54cc8.js | 1 +
uk/assets/js/4571a644.307631bc.js | 1 +
uk/assets/js/471b4788.f4f13d58.js | 1 +
uk/assets/js/4a0083a2.36942c58.js | 1 +
uk/assets/js/4cc14abf.06b7cbee.js | 1 +
uk/assets/js/5192bfc2.3f31f340.js | 1 +
uk/assets/js/5243137c.fc805a01.js | 1 +
uk/assets/js/57d283c5.a0ddb957.js | 1 +
uk/assets/js/584566d0.efe95bf2.js | 1 +
uk/assets/js/5dc42a06.5b2340e1.js | 1 +
uk/assets/js/5e4e9ddc.1ee4be5a.js | 1 +
uk/assets/js/5e5d7fc6.b0e5a908.js | 1 +
uk/assets/js/5e95c892.4d39f66c.js | 1 +
uk/assets/js/61a18855.99525f8c.js | 1 +
uk/assets/js/621db11d.e8bb016f.js | 1 +
uk/assets/js/641a2b35.c8842041.js | 1 +
uk/assets/js/6875c492.1b5dc22a.js | 1 +
uk/assets/js/687fe97a.cf5c4148.js | 1 +
uk/assets/js/6949052f.bac2f02d.js | 1 +
uk/assets/js/699bd075.0ea67725.js | 1 +
uk/assets/js/6a188d2a.af927aa3.js | 1 +
uk/assets/js/6ac27db7.cd0a6c09.js | 1 +
uk/assets/js/6bafdb7a.ebd6140c.js | 1 +
uk/assets/js/6c93b16b.b3fe0cc8.js | 1 +
uk/assets/js/6cd38137.7ce2b414.js | 1 +
uk/assets/js/6e8bc75c.5c77e456.js | 1 +
uk/assets/js/714021cc.a05d8ad4.js | 1 +
uk/assets/js/7d92f636.1dd52b29.js | 1 +
uk/assets/js/7e37206e.68dee4e3.js | 1 +
uk/assets/js/8025da31.378b8346.js | 1 +
uk/assets/js/814f3328.c6c66f87.js | 1 +
uk/assets/js/8312cad1.ab8f3c47.js | 1 +
uk/assets/js/86e2542b.43b6c3f5.js | 1 +
uk/assets/js/8913.dcb61d6c.js | 1 +
uk/assets/js/8e5a18d6.586800e3.js | 1 +
uk/assets/js/90fa9fa6.4a9e46d1.js | 1 +
uk/assets/js/92b87bb8.71e977f8.js | 1 +
uk/assets/js/93811ce3.05b2fa1b.js | 1 +
uk/assets/js/93f4173c.6037c38a.js | 1 +
uk/assets/js/95bba2bf.dd69f1a6.js | 1 +
uk/assets/js/9650012f.56716140.js | 1 +
uk/assets/js/9785.a386bbff.js | 1 +
uk/assets/js/9992f20b.5d51de72.js | 1 +
uk/assets/js/99f170c2.bae4e04c.js | 1 +
uk/assets/js/9a8d8c08.308a66e2.js | 1 +
uk/assets/js/9c161a86.e669e2f3.js | 1 +
uk/assets/js/9c7f06ee.2444b5c1.js | 1 +
uk/assets/js/9e4087bc.9269875d.js | 1 +
uk/assets/js/a0c765fb.94b9b0a7.js | 1 +
uk/assets/js/a26267e8.049018ec.js | 1 +
uk/assets/js/a272353c.57ef2b38.js | 1 +
uk/assets/js/a6aa9e1f.165a5b46.js | 1 +
uk/assets/js/a7456010.4ce1f9e1.js | 1 +
uk/assets/js/a7bd4aaa.fea2f11b.js | 1 +
uk/assets/js/a94703ab.c810baba.js | 1 +
uk/assets/js/a974c8f5.06eb74ca.js | 1 +
uk/assets/js/aac0c149.61eeff20.js | 1 +
uk/assets/js/aba21aa0.8989bbd3.js | 1 +
uk/assets/js/ac585975.6047611e.js | 1 +
uk/assets/js/acecf23e.74c228a2.js | 1 +
uk/assets/js/aedaa044.260df02c.js | 1 +
uk/assets/js/af913d4d.b93183a2.js | 1 +
uk/assets/js/b226b09a.447748fb.js | 1 +
uk/assets/js/baa9c9e2.c744589a.js | 1 +
uk/assets/js/c141421f.266bc054.js | 1 +
uk/assets/js/c26e04b1.d2803e13.js | 1 +
uk/assets/js/c4f5d8e4.d849bf54.js | 2 +
uk/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
uk/assets/js/c54067ce.b1dc13dd.js | 1 +
uk/assets/js/c5bce738.cf978f03.js | 1 +
uk/assets/js/c6ec4ee7.3b0b08a9.js | 1 +
uk/assets/js/c97737dc.852ea22f.js | 1 +
uk/assets/js/c9f4db5f.d713b87d.js | 1 +
uk/assets/js/ccc49370.dab9e754.js | 1 +
uk/assets/js/cdc342ab.459b5c63.js | 1 +
uk/assets/js/cf2a516f.648bd805.js | 1 +
uk/assets/js/d00d9168.6a1f8243.js | 1 +
uk/assets/js/dbd07130.76ae7ef0.js | 1 +
uk/assets/js/dc7b28b6.91afb2d9.js | 1 +
uk/assets/js/dcc90770.559f7aef.js | 1 +
uk/assets/js/ddc791b3.34a0c277.js | 1 +
uk/assets/js/de345076.803c442f.js | 1 +
uk/assets/js/de8774e4.003083c4.js | 1 +
uk/assets/js/e168d683.3d2152af.js | 1 +
uk/assets/js/e316c3ff.65c4ff71.js | 1 +
uk/assets/js/e3715895.bc941734.js | 1 +
uk/assets/js/e4e0a642.580eedab.js | 1 +
uk/assets/js/e589f547.d00726c8.js | 1 +
uk/assets/js/e74a79a5.95553122.js | 1 +
uk/assets/js/ef162844.85381287.js | 1 +
uk/assets/js/efe9f9e8.ff010d5c.js | 1 +
uk/assets/js/eff179d1.97bec627.js | 1 +
uk/assets/js/f5bd0c6b.88c7b636.js | 1 +
uk/assets/js/fcd11888.e3ee17f8.js | 1 +
uk/assets/js/fd9d9c89.1b90b4d4.js | 1 +
uk/assets/js/ffca958f.7352a4c9.js | 1 +
uk/assets/js/main.f2e0c557.js | 2 +
uk/assets/js/main.f2e0c557.js.LICENSE.txt | 51 +
uk/assets/js/runtime~main.38f18b95.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
uk/blog/2018/08/27/node-casbin/index.html | 91 +
uk/blog/2018/09/23/new-website/index.html | 90 +
uk/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
uk/blog/archive/index.html | 88 +
uk/blog/atom.xml | 277 +++
uk/blog/authors/index.html | 88 +
uk/blog/casbin-2025-ai-agent-era/index.html | 123 ++
uk/blog/index.html | 90 +
uk/blog/rss.xml | 251 +++
uk/blog/tags/ai/index.html | 88 +
uk/blog/tags/casbin/index.html | 88 +
uk/blog/tags/edge-computing/index.html | 88 +
uk/blog/tags/index.html | 88 +
uk/blog/tags/llm/index.html | 88 +
uk/blog/tags/mcp/index.html | 88 +
uk/blog/tags/roadmap/index.html | 88 +
uk/casbin-editor/index.html | 29 +
uk/data/users.json | 170 ++
uk/docs/abac/index.html | 112 ++
uk/docs/adapters/index.html | 178 ++
uk/docs/admin-portal/index.html | 92 +
uk/docs/adopters/index.html | 92 +
uk/docs/api-overview/index.html | 154 ++
uk/docs/benchmark/index.html | 93 +
uk/docs/biba/index.html | 134 ++
uk/docs/blp/index.html | 123 ++
uk/docs/category/about--more/index.html | 88 +
uk/docs/category/access-control-models/index.html | 88 +
uk/docs/category/advanced-usage/index.html | 88 +
uk/docs/category/api/index.html | 88 +
uk/docs/category/basics/index.html | 88 +
uk/docs/category/editors--tools/index.html | 88 +
uk/docs/category/management/index.html | 88 +
uk/docs/category/storage/index.html | 88 +
uk/docs/category/use-cases/index.html | 88 +
uk/docs/cloud-native/index.html | 90 +
uk/docs/command-line-tools/index.html | 189 ++
uk/docs/contributing/index.html | 130 ++
uk/docs/data-permissions/index.html | 94 +
uk/docs/dispatchers/index.html | 95 +
uk/docs/effector/index.html | 103 +
uk/docs/enforcers/index.html | 91 +
uk/docs/envoy/index.html | 121 ++
uk/docs/frontend/index.html | 138 ++
uk/docs/function/index.html | 121 ++
uk/docs/get-started/index.html | 108 ++
uk/docs/graphql-middlewares/index.html | 92 +
uk/docs/how-it-works/index.html | 125 ++
uk/docs/ide-plugins/index.html | 97 +
uk/docs/k8s-gatekeeper/index.html | 290 +++
uk/docs/kong-authz/index.html | 157 ++
uk/docs/lbac/index.html | 124 ++
uk/docs/log-error/index.html | 119 ++
uk/docs/mac-overview/index.html | 109 ++
uk/docs/management-api/index.html | 383 ++++
uk/docs/menu-permissions/index.html | 128 ++
uk/docs/middlewares/index.html | 92 +
uk/docs/model-storage/index.html | 101 +
uk/docs/multi-threading/index.html | 89 +
uk/docs/online-editor/index.html | 109 ++
uk/docs/orbac/index.html | 121 ++
uk/docs/overview/index.html | 114 ++
uk/docs/pbac/index.html | 116 ++
uk/docs/performance/index.html | 102 +
uk/docs/plugins-overview/index.html | 105 +
uk/docs/policy-storage/index.html | 107 ++
uk/docs/policy-subset-loading/index.html | 92 +
uk/docs/priority-model/index.html | 118 ++
uk/docs/privacy-policy/index.html | 95 +
uk/docs/rbac-96/index.html | 99 +
uk/docs/rbac-api/index.html | 278 +++
uk/docs/rbac-overview/index.html | 104 +
uk/docs/rbac-with-conditions-api/index.html | 101 +
uk/docs/rbac-with-conditions/index.html | 112 ++
uk/docs/rbac-with-domains-api/index.html | 131 ++
uk/docs/rbac-with-domains/index.html | 103 +
uk/docs/rbac-with-pattern/index.html | 119 ++
uk/docs/rbac/index.html | 116 ++
uk/docs/rebac/index.html | 106 ++
uk/docs/role-managers/index.html | 91 +
uk/docs/rolemanager-api/index.html | 135 ++
uk/docs/service/index.html | 89 +
uk/docs/superadmin/index.html | 90 +
uk/docs/supported-models/index.html | 110 ++
uk/docs/syntax-for-models/index.html | 162 ++
uk/docs/terms-of-service/index.html | 110 ++
uk/docs/tutorials/index.html | 140 ++
uk/docs/ucon/index.html | 139 ++
uk/docs/watchers/index.html | 95 +
uk/ecosystem/index.html | 88 +
uk/editor/index.html | 88 +
uk/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
uk/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
uk/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
uk/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
uk/gallery/index.html | 88 +
uk/help/index.html | 88 +
uk/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
uk/img/background.png | Bin 0 -> 429128 bytes
uk/img/blog/model.png | Bin 0 -> 823392 bytes
uk/img/casbin.svg | 10 +
uk/img/casbin_min.svg | 9 +
uk/img/docusaurus.png | Bin 0 -> 5142 bytes
uk/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
uk/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
uk/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
uk/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
uk/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
uk/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
uk/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
uk/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
uk/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
uk/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
uk/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
uk/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
uk/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
uk/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
uk/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
uk/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
uk/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
uk/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
uk/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
uk/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
uk/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
uk/img/ecosystem/django.png | Bin 0 -> 3266 bytes
uk/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
uk/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
uk/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
uk/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
uk/img/ecosystem/express.png | Bin 0 -> 2942 bytes
uk/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
uk/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
uk/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
uk/img/ecosystem/file.png | Bin 0 -> 2099 bytes
uk/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
uk/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
uk/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
uk/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
uk/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
uk/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
uk/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
uk/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
uk/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
uk/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
uk/img/ecosystem/http.png | Bin 0 -> 2071 bytes
uk/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
uk/img/ecosystem/json.png | Bin 0 -> 2396 bytes
uk/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
uk/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
uk/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
uk/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
uk/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
uk/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
uk/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
uk/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
uk/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
uk/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
uk/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
uk/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
uk/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
uk/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
uk/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
uk/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
uk/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
uk/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
uk/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
uk/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
uk/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
uk/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
uk/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
uk/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
uk/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
uk/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
uk/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
uk/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
uk/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
uk/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
uk/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
uk/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
uk/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
uk/img/ecosystem/session.png | Bin 0 -> 3129 bytes
uk/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
uk/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
uk/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
uk/img/ecosystem/string.png | Bin 0 -> 5368 bytes
uk/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
uk/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
uk/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
uk/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
uk/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
uk/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
uk/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
uk/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
uk/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
uk/img/editor-ai.png | Bin 0 -> 271698 bytes
uk/img/editor-endpoint.png | Bin 0 -> 57531 bytes
uk/img/editor-engine.png | Bin 0 -> 105638 bytes
uk/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
uk/img/editor-tips.png | Bin 0 -> 12133 bytes
uk/img/editor-upload.png | Bin 0 -> 36050 bytes
uk/img/favicon.ico | Bin 0 -> 3626 bytes
uk/img/favicon.png | Bin 0 -> 10527 bytes
uk/img/github.png | Bin 0 -> 23729 bytes
uk/img/langs/cpp.png | Bin 0 -> 21992 bytes
uk/img/langs/delphi.png | Bin 0 -> 30246 bytes
uk/img/langs/dotnet.png | Bin 0 -> 41524 bytes
uk/img/langs/golang.png | Bin 0 -> 54614 bytes
uk/img/langs/java.png | Bin 0 -> 16040 bytes
uk/img/langs/nodejs.png | Bin 0 -> 27603 bytes
uk/img/langs/php.png | Bin 0 -> 42168 bytes
uk/img/langs/python.png | Bin 0 -> 20755 bytes
uk/img/langs/rust.png | Bin 0 -> 8291 bytes
uk/img/language-dark.png | Bin 0 -> 30816 bytes
uk/img/language.png | Bin 0 -> 50757 bytes
uk/img/language.svg | 710 +++++++
uk/img/logo.svg | 1 +
uk/img/model-dark.png | Bin 0 -> 21754 bytes
uk/img/model.png | Bin 0 -> 8670 bytes
uk/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
uk/img/role.png | Bin 0 -> 78158 bytes
uk/img/scale.png | Bin 0 -> 16385 bytes
uk/img/storage-dark.png | Bin 0 -> 19568 bytes
uk/img/storage.png | Bin 0 -> 26864 bytes
uk/img/storage.svg | 477 +++++
uk/img/store.png | Bin 0 -> 35459 bytes
uk/img/store.svg | 2005 ++++++++++++++++++++
uk/img/tutorial/acl.png | Bin 0 -> 633359 bytes
uk/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
uk/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
uk/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
uk/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
uk/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
uk/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
uk/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
uk/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
uk/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
uk/img/undraw_docusaurus_mountain.svg | 170 ++
uk/img/undraw_docusaurus_react.svg | 169 ++
uk/img/undraw_docusaurus_tree.svg | 1 +
uk/img/users/360.png | Bin 0 -> 15651 bytes
uk/img/users/alibaba.png | Bin 0 -> 160461 bytes
uk/img/users/bose.png | Bin 0 -> 3360 bytes
uk/img/users/bytebase.png | Bin 0 -> 11023 bytes
uk/img/users/cisco.png | Bin 0 -> 10262 bytes
uk/img/users/docker.png | Bin 0 -> 6192 bytes
uk/img/users/elastic.png | Bin 0 -> 42387 bytes
uk/img/users/eth.png | Bin 0 -> 46321 bytes
uk/img/users/f5.png | Bin 0 -> 49662 bytes
uk/img/users/honeywell.png | Bin 0 -> 57802 bytes
uk/img/users/hpe.png | Bin 0 -> 32136 bytes
uk/img/users/ibm.png | Bin 0 -> 24323 bytes
uk/img/users/intel.png | Bin 0 -> 17619 bytes
uk/img/users/jdlt.png | Bin 0 -> 13501 bytes
uk/img/users/microsoft.png | Bin 0 -> 13325 bytes
uk/img/users/musma.png | Bin 0 -> 9343 bytes
uk/img/users/ontario.png | Bin 0 -> 38267 bytes
uk/img/users/orange.png | Bin 0 -> 5217 bytes
uk/img/users/pulsar.png | Bin 0 -> 8905 bytes
uk/img/users/redhat.png | Bin 0 -> 33950 bytes
uk/img/users/rspacex.png | Bin 0 -> 52166 bytes
uk/img/users/se.png | Bin 0 -> 2963 bytes
uk/img/users/siemens.png | Bin 0 -> 5285 bytes
uk/img/users/t-mobile.png | Bin 0 -> 74117 bytes
uk/img/users/tencent.png | Bin 0 -> 10932 bytes
uk/img/users/verizon.png | Bin 0 -> 22526 bytes
uk/img/users/vmware.png | Bin 0 -> 10251 bytes
uk/img/users/zilliz.png | Bin 0 -> 7611 bytes
uk/index.html | 88 +
uk/js/clarity.js | 5 +
uk/js/hotjar.js | 12 +
uk/js/probe.js | 1 +
uk/js/tawk.js | 9 +
uk/opensearch.xml | 11 +
uk/robots.txt | 2 +
uk/search/index.html | 88 +
uk/sitemap.xml | 1 +
uk/users/index.html | 88 +
users/index.html | 88 +
vi/.nojekyll | 0
vi/404.html | 88 +
vi/assets/css/styles.2058287d.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
vi/assets/js/011668be.1b3a2ac8.js | 1 +
vi/assets/js/0195e2de.f72c8e78.js | 1 +
vi/assets/js/01a85c17.dce7d51e.js | 1 +
vi/assets/js/03adfa75.2ed24159.js | 1 +
vi/assets/js/089770a1.0d7f8dfc.js | 1 +
vi/assets/js/09012a97.91dc532b.js | 1 +
vi/assets/js/0fa561f0.69e781ed.js | 1 +
vi/assets/js/11e1e9e2.e8e528fd.js | 1 +
vi/assets/js/1264515f.5561779a.js | 1 +
vi/assets/js/13782f52.89f2cda8.js | 1 +
vi/assets/js/14eb3368.ee36e5dc.js | 1 +
vi/assets/js/15537fa6.2159ada1.js | 1 +
vi/assets/js/16192c47.446f7bfd.js | 1 +
vi/assets/js/17896441.2e160253.js | 1 +
vi/assets/js/186686ff.ff698344.js | 1 +
vi/assets/js/186863e3.7d21ff20.js | 1 +
vi/assets/js/19a15611.0760d277.js | 1 +
vi/assets/js/1a4e3797.607f840a.js | 1 +
vi/assets/js/2143.631f9abc.js | 1 +
vi/assets/js/2237.4c917a91.js | 1 +
vi/assets/js/22441738.da8b3813.js | 1 +
vi/assets/js/23a232f5.949513f6.js | 1 +
vi/assets/js/23b20954.846af1ff.js | 1 +
vi/assets/js/254d3b02.f6657f83.js | 1 +
vi/assets/js/2598ebf2.b540e30d.js | 1 +
vi/assets/js/2693.aae57f15.js | 2 +
vi/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
vi/assets/js/286ff793.1049390c.js | 1 +
vi/assets/js/28e01773.89e673cd.js | 1 +
vi/assets/js/29667ba5.8459b263.js | 1 +
vi/assets/js/2d409204.e7db5529.js | 1 +
vi/assets/js/2f6cefe1.ec6368a7.js | 1 +
vi/assets/js/3347.442b4917.js | 1 +
vi/assets/js/3362e121.70333acb.js | 1 +
vi/assets/js/36994c47.a0416590.js | 1 +
vi/assets/js/3955.118925ae.js | 25 +
vi/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
vi/assets/js/39e3a456.6594d3a0.js | 1 +
vi/assets/js/3e5f37dc.dc7d4cac.js | 1 +
vi/assets/js/416.ffc71866.js | 1 +
vi/assets/js/45d786c9.80d5e542.js | 1 +
vi/assets/js/4963c3ee.712921e3.js | 1 +
vi/assets/js/4a2e19ff.b8305378.js | 1 +
vi/assets/js/4e020eab.55b7047b.js | 1 +
vi/assets/js/50a9709d.32e02a7b.js | 1 +
vi/assets/js/50ff5a4a.242a0482.js | 1 +
vi/assets/js/530a9bc4.f0795d0a.js | 1 +
vi/assets/js/53eb20c1.b55f635e.js | 1 +
vi/assets/js/589e95ee.a0517e36.js | 1 +
vi/assets/js/5cd23fd6.baeaa5da.js | 1 +
vi/assets/js/5e95c892.4d39f66c.js | 1 +
vi/assets/js/5f9d998d.605af585.js | 1 +
vi/assets/js/621db11d.e8bb016f.js | 1 +
vi/assets/js/686612ac.49730d53.js | 1 +
vi/assets/js/6875c492.5facc328.js | 1 +
vi/assets/js/6d8d4aa1.53988484.js | 1 +
vi/assets/js/6f5b66bd.cd804da4.js | 1 +
vi/assets/js/7275647b.941f6b0b.js | 1 +
vi/assets/js/729c3132.133457f8.js | 1 +
vi/assets/js/73388843.aebb12f0.js | 1 +
vi/assets/js/749bdb4f.acb6b17c.js | 1 +
vi/assets/js/76cea9d0.3ac9cb24.js | 1 +
vi/assets/js/7d86e0c0.b8bf877c.js | 1 +
vi/assets/js/7dd29a9c.d5cd63b8.js | 1 +
vi/assets/js/7e37206e.68dee4e3.js | 1 +
vi/assets/js/814f3328.fd72601d.js | 1 +
vi/assets/js/85bd6019.84b65dbc.js | 1 +
vi/assets/js/8913.dcb61d6c.js | 1 +
vi/assets/js/89153920.e12c6f6b.js | 1 +
vi/assets/js/8ae38896.9c508ed0.js | 1 +
vi/assets/js/8dc66567.3a645e2f.js | 1 +
vi/assets/js/939b448a.1539a7ba.js | 1 +
vi/assets/js/9718dff2.68508c9c.js | 1 +
vi/assets/js/9751e80b.dd3b475a.js | 1 +
vi/assets/js/9785.a386bbff.js | 1 +
vi/assets/js/9836e982.02f9e5b5.js | 1 +
vi/assets/js/9901db12.1737f6e5.js | 1 +
vi/assets/js/9a7f6598.477a0f36.js | 1 +
vi/assets/js/9e4087bc.9269875d.js | 1 +
vi/assets/js/9f23ab4d.6eacc609.js | 1 +
vi/assets/js/a186dde4.8283365e.js | 1 +
vi/assets/js/a6aa9e1f.165a5b46.js | 1 +
vi/assets/js/a7456010.4ce1f9e1.js | 1 +
vi/assets/js/a7bd4aaa.fea2f11b.js | 1 +
vi/assets/js/a8870b29.f89d344e.js | 1 +
vi/assets/js/a94703ab.c810baba.js | 1 +
vi/assets/js/a9cfe971.98370ff6.js | 1 +
vi/assets/js/aba21aa0.8989bbd3.js | 1 +
vi/assets/js/ace6e792.79ce3818.js | 1 +
vi/assets/js/acecf23e.e1249d60.js | 1 +
vi/assets/js/addf27ed.a592042b.js | 1 +
vi/assets/js/ae9ac5f1.e1d738ee.js | 1 +
vi/assets/js/aed7a7a6.564c2152.js | 1 +
vi/assets/js/af913d4d.b93183a2.js | 1 +
vi/assets/js/b08fa574.254e2c94.js | 1 +
vi/assets/js/b8600847.2159c6ec.js | 1 +
vi/assets/js/b8726d25.59ec0669.js | 1 +
vi/assets/js/b92d375a.a53b40a6.js | 1 +
vi/assets/js/bdfb99c5.70cb94bc.js | 1 +
vi/assets/js/c1341401.3f2a1ee2.js | 1 +
vi/assets/js/c141421f.266bc054.js | 1 +
vi/assets/js/c4f5d8e4.2847bed2.js | 2 +
vi/assets/js/c4f5d8e4.2847bed2.js.LICENSE.txt | 6 +
vi/assets/js/c51f7b58.83e19c84.js | 1 +
vi/assets/js/c5682594.d3b81cb8.js | 1 +
vi/assets/js/c7c9bdf0.89689596.js | 1 +
vi/assets/js/c9cd7326.539d4bef.js | 1 +
vi/assets/js/cc4d5426.5f5b712b.js | 1 +
vi/assets/js/ccc49370.ab3d7b36.js | 1 +
vi/assets/js/ce68b3b1.34617272.js | 1 +
vi/assets/js/ced142ca.263fdf95.js | 1 +
vi/assets/js/cf6283e4.8ff72bd4.js | 1 +
vi/assets/js/d25aa5cb.0b47ad44.js | 1 +
vi/assets/js/d3f30b5c.a7167696.js | 1 +
vi/assets/js/d6a5d7b9.83b9db31.js | 1 +
vi/assets/js/d719689b.cf449f61.js | 1 +
vi/assets/js/d8fbc233.20519837.js | 1 +
vi/assets/js/d9eb67c5.6e119405.js | 1 +
vi/assets/js/db23b0fa.35825d19.js | 1 +
vi/assets/js/dc1bb722.25e997fe.js | 1 +
vi/assets/js/e74a79a5.f28ba9da.js | 1 +
vi/assets/js/e7e87b5b.d6de0d93.js | 1 +
vi/assets/js/e7f256de.d015a81c.js | 1 +
vi/assets/js/e8ad8668.6a05a2ef.js | 1 +
vi/assets/js/ea2b1a16.112db57b.js | 1 +
vi/assets/js/ef419c5a.8c371449.js | 1 +
vi/assets/js/ef8c60c4.49ebf51a.js | 1 +
vi/assets/js/f2f27ce2.0b631c4e.js | 1 +
vi/assets/js/f75df509.d907324c.js | 1 +
vi/assets/js/f7755134.f4fe393d.js | 1 +
vi/assets/js/fd9d9c89.1b90b4d4.js | 1 +
vi/assets/js/ff51d984.a0583331.js | 1 +
vi/assets/js/main.21fcf7f4.js | 2 +
vi/assets/js/main.21fcf7f4.js.LICENSE.txt | 51 +
vi/assets/js/runtime~main.b4d08588.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
vi/blog/2018/08/27/node-casbin/index.html | 91 +
vi/blog/2018/09/23/new-website/index.html | 90 +
vi/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
vi/blog/archive/index.html | 88 +
vi/blog/atom.xml | 277 +++
vi/blog/authors/index.html | 88 +
vi/blog/casbin-2025-ai-agent-era/index.html | 123 ++
vi/blog/index.html | 90 +
vi/blog/rss.xml | 251 +++
vi/blog/tags/ai/index.html | 88 +
vi/blog/tags/casbin/index.html | 88 +
vi/blog/tags/edge-computing/index.html | 88 +
vi/blog/tags/index.html | 88 +
vi/blog/tags/llm/index.html | 88 +
vi/blog/tags/mcp/index.html | 88 +
vi/blog/tags/roadmap/index.html | 88 +
vi/casbin-editor/index.html | 29 +
vi/data/users.json | 170 ++
vi/docs/abac/index.html | 112 ++
vi/docs/adapters/index.html | 180 ++
vi/docs/admin-portal/index.html | 92 +
vi/docs/adopters/index.html | 92 +
vi/docs/api-overview/index.html | 154 ++
vi/docs/benchmark/index.html | 93 +
vi/docs/biba/index.html | 134 ++
vi/docs/blp/index.html | 123 ++
vi/docs/category/about--more/index.html | 88 +
vi/docs/category/access-control-models/index.html | 88 +
vi/docs/category/advanced-usage/index.html | 88 +
vi/docs/category/api/index.html | 88 +
vi/docs/category/basics/index.html | 88 +
vi/docs/category/editors--tools/index.html | 88 +
vi/docs/category/management/index.html | 88 +
vi/docs/category/storage/index.html | 88 +
vi/docs/category/use-cases/index.html | 88 +
vi/docs/cloud-native/index.html | 90 +
vi/docs/command-line-tools/index.html | 189 ++
vi/docs/contributing/index.html | 130 ++
vi/docs/data-permissions/index.html | 94 +
vi/docs/dispatchers/index.html | 95 +
vi/docs/effector/index.html | 103 +
vi/docs/enforcers/index.html | 91 +
vi/docs/envoy/index.html | 121 ++
vi/docs/frontend/index.html | 138 ++
vi/docs/function/index.html | 121 ++
vi/docs/get-started/index.html | 108 ++
vi/docs/graphql-middlewares/index.html | 92 +
vi/docs/how-it-works/index.html | 125 ++
vi/docs/ide-plugins/index.html | 97 +
vi/docs/k8s-gatekeeper/index.html | 290 +++
vi/docs/kong-authz/index.html | 157 ++
vi/docs/lbac/index.html | 124 ++
vi/docs/log-error/index.html | 119 ++
vi/docs/mac-overview/index.html | 109 ++
vi/docs/management-api/index.html | 383 ++++
vi/docs/menu-permissions/index.html | 128 ++
vi/docs/middlewares/index.html | 92 +
vi/docs/model-storage/index.html | 101 +
vi/docs/multi-threading/index.html | 89 +
vi/docs/online-editor/index.html | 109 ++
vi/docs/orbac/index.html | 121 ++
vi/docs/overview/index.html | 114 ++
vi/docs/pbac/index.html | 116 ++
vi/docs/performance/index.html | 102 +
vi/docs/plugins-overview/index.html | 105 +
vi/docs/policy-storage/index.html | 107 ++
vi/docs/policy-subset-loading/index.html | 92 +
vi/docs/priority-model/index.html | 118 ++
vi/docs/privacy-policy/index.html | 95 +
vi/docs/rbac-96/index.html | 99 +
vi/docs/rbac-api/index.html | 278 +++
vi/docs/rbac-overview/index.html | 104 +
vi/docs/rbac-with-conditions-api/index.html | 101 +
vi/docs/rbac-with-conditions/index.html | 112 ++
vi/docs/rbac-with-domains-api/index.html | 131 ++
vi/docs/rbac-with-domains/index.html | 103 +
vi/docs/rbac-with-pattern/index.html | 119 ++
vi/docs/rbac/index.html | 116 ++
vi/docs/rebac/index.html | 106 ++
vi/docs/role-managers/index.html | 91 +
vi/docs/rolemanager-api/index.html | 135 ++
vi/docs/service/index.html | 89 +
vi/docs/superadmin/index.html | 90 +
vi/docs/supported-models/index.html | 110 ++
vi/docs/syntax-for-models/index.html | 162 ++
vi/docs/terms-of-service/index.html | 110 ++
vi/docs/tutorials/index.html | 140 ++
vi/docs/ucon/index.html | 139 ++
vi/docs/watchers/index.html | 95 +
vi/ecosystem/index.html | 88 +
vi/editor/index.html | 88 +
vi/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
vi/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
vi/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
vi/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
vi/gallery/index.html | 88 +
vi/help/index.html | 88 +
vi/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
vi/img/background.png | Bin 0 -> 429128 bytes
vi/img/blog/model.png | Bin 0 -> 823392 bytes
vi/img/casbin.svg | 10 +
vi/img/casbin_min.svg | 9 +
vi/img/docusaurus.png | Bin 0 -> 5142 bytes
vi/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
vi/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
vi/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
vi/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
vi/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
vi/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
vi/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
vi/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
vi/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
vi/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
vi/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
vi/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
vi/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
vi/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
vi/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
vi/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
vi/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
vi/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
vi/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
vi/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
vi/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
vi/img/ecosystem/django.png | Bin 0 -> 3266 bytes
vi/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
vi/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
vi/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
vi/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
vi/img/ecosystem/express.png | Bin 0 -> 2942 bytes
vi/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
vi/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
vi/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
vi/img/ecosystem/file.png | Bin 0 -> 2099 bytes
vi/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
vi/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
vi/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
vi/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
vi/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
vi/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
vi/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
vi/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
vi/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
vi/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
vi/img/ecosystem/http.png | Bin 0 -> 2071 bytes
vi/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
vi/img/ecosystem/json.png | Bin 0 -> 2396 bytes
vi/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
vi/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
vi/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
vi/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
vi/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
vi/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
vi/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
vi/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
vi/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
vi/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
vi/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
vi/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
vi/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
vi/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
vi/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
vi/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
vi/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
vi/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
vi/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
vi/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
vi/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
vi/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
vi/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
vi/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
vi/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
vi/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
vi/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
vi/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
vi/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
vi/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
vi/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
vi/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
vi/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
vi/img/ecosystem/session.png | Bin 0 -> 3129 bytes
vi/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
vi/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
vi/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
vi/img/ecosystem/string.png | Bin 0 -> 5368 bytes
vi/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
vi/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
vi/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
vi/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
vi/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
vi/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
vi/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
vi/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
vi/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
vi/img/editor-ai.png | Bin 0 -> 271698 bytes
vi/img/editor-endpoint.png | Bin 0 -> 57531 bytes
vi/img/editor-engine.png | Bin 0 -> 105638 bytes
vi/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
vi/img/editor-tips.png | Bin 0 -> 12133 bytes
vi/img/editor-upload.png | Bin 0 -> 36050 bytes
vi/img/favicon.ico | Bin 0 -> 3626 bytes
vi/img/favicon.png | Bin 0 -> 10527 bytes
vi/img/github.png | Bin 0 -> 23729 bytes
vi/img/langs/cpp.png | Bin 0 -> 21992 bytes
vi/img/langs/delphi.png | Bin 0 -> 30246 bytes
vi/img/langs/dotnet.png | Bin 0 -> 41524 bytes
vi/img/langs/golang.png | Bin 0 -> 54614 bytes
vi/img/langs/java.png | Bin 0 -> 16040 bytes
vi/img/langs/nodejs.png | Bin 0 -> 27603 bytes
vi/img/langs/php.png | Bin 0 -> 42168 bytes
vi/img/langs/python.png | Bin 0 -> 20755 bytes
vi/img/langs/rust.png | Bin 0 -> 8291 bytes
vi/img/language-dark.png | Bin 0 -> 30816 bytes
vi/img/language.png | Bin 0 -> 50757 bytes
vi/img/language.svg | 710 +++++++
vi/img/logo.svg | 1 +
vi/img/model-dark.png | Bin 0 -> 21754 bytes
vi/img/model.png | Bin 0 -> 8670 bytes
vi/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
vi/img/role.png | Bin 0 -> 78158 bytes
vi/img/scale.png | Bin 0 -> 16385 bytes
vi/img/storage-dark.png | Bin 0 -> 19568 bytes
vi/img/storage.png | Bin 0 -> 26864 bytes
vi/img/storage.svg | 477 +++++
vi/img/store.png | Bin 0 -> 35459 bytes
vi/img/store.svg | 2005 ++++++++++++++++++++
vi/img/tutorial/acl.png | Bin 0 -> 633359 bytes
vi/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
vi/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
vi/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
vi/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
vi/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
vi/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
vi/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
vi/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
vi/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
vi/img/undraw_docusaurus_mountain.svg | 170 ++
vi/img/undraw_docusaurus_react.svg | 169 ++
vi/img/undraw_docusaurus_tree.svg | 1 +
vi/img/users/360.png | Bin 0 -> 15651 bytes
vi/img/users/alibaba.png | Bin 0 -> 160461 bytes
vi/img/users/bose.png | Bin 0 -> 3360 bytes
vi/img/users/bytebase.png | Bin 0 -> 11023 bytes
vi/img/users/cisco.png | Bin 0 -> 10262 bytes
vi/img/users/docker.png | Bin 0 -> 6192 bytes
vi/img/users/elastic.png | Bin 0 -> 42387 bytes
vi/img/users/eth.png | Bin 0 -> 46321 bytes
vi/img/users/f5.png | Bin 0 -> 49662 bytes
vi/img/users/honeywell.png | Bin 0 -> 57802 bytes
vi/img/users/hpe.png | Bin 0 -> 32136 bytes
vi/img/users/ibm.png | Bin 0 -> 24323 bytes
vi/img/users/intel.png | Bin 0 -> 17619 bytes
vi/img/users/jdlt.png | Bin 0 -> 13501 bytes
vi/img/users/microsoft.png | Bin 0 -> 13325 bytes
vi/img/users/musma.png | Bin 0 -> 9343 bytes
vi/img/users/ontario.png | Bin 0 -> 38267 bytes
vi/img/users/orange.png | Bin 0 -> 5217 bytes
vi/img/users/pulsar.png | Bin 0 -> 8905 bytes
vi/img/users/redhat.png | Bin 0 -> 33950 bytes
vi/img/users/rspacex.png | Bin 0 -> 52166 bytes
vi/img/users/se.png | Bin 0 -> 2963 bytes
vi/img/users/siemens.png | Bin 0 -> 5285 bytes
vi/img/users/t-mobile.png | Bin 0 -> 74117 bytes
vi/img/users/tencent.png | Bin 0 -> 10932 bytes
vi/img/users/verizon.png | Bin 0 -> 22526 bytes
vi/img/users/vmware.png | Bin 0 -> 10251 bytes
vi/img/users/zilliz.png | Bin 0 -> 7611 bytes
vi/index.html | 88 +
vi/js/clarity.js | 5 +
vi/js/hotjar.js | 12 +
vi/js/probe.js | 1 +
vi/js/tawk.js | 9 +
vi/opensearch.xml | 11 +
vi/robots.txt | 2 +
vi/search/index.html | 88 +
vi/sitemap.xml | 1 +
vi/users/index.html | 88 +
zh/.nojekyll | 0
zh/404.html | 88 +
zh/assets/css/styles.e3671a6d.css | 1 +
...aCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 | Bin 0 -> 113088 bytes
...raCode-VF-d7af67f866f9a5e0a113332ad9287227.woff | Bin 0 -> 138576 bytes
...oman.var-ba4caefcdf5b36b438db92786991c845.woff2 | Bin 0 -> 227180 bytes
.../acl-704097c47b27a1f2235c82f593af469e.png | Bin 0 -> 633359 bytes
...th_domains-68da0ab873982624da59e159d4b2df45.png | Bin 0 -> 183760 bytes
.../cpp-56b38b73abf68f92c17de2d420951248.png | Bin 0 -> 21992 bytes
.../dotnet-72b4fc5b6729af5affc0dad178cca8e8.png | Bin 0 -> 41524 bytes
.../editor-ai-8030eaab11b71a19113d4ab90032a242.png | Bin 0 -> 271698 bytes
...r-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png | Bin 0 -> 57531 bytes
...tor-engine-72189cabe5c8708aa3e2496841137e35.png | Bin 0 -> 105638 bytes
...lti-engine-3c614347cce5c96a5b733000204e94e1.png | Bin 0 -> 227138 bytes
...ditor-tips-2c4bf3155a73f079c976e5ad118d5518.png | Bin 0 -> 12133 bytes
...tor-upload-512eb21fc92e9137e9cf4630d9689d92.png | Bin 0 -> 36050 bytes
.../golang-bb03eb73d50185d94e628cc517857215.png | Bin 0 -> 54614 bytes
.../hrbac-1350d755e04234a34394996344d2b259.png | Bin 0 -> 1219406 bytes
...-act-match-bbb086158782591771f2df01419dc4b8.png | Bin 0 -> 1295889 bytes
...-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png | Bin 0 -> 1301698 bytes
...-sub-match-55dffd4e5fadb9773658dc90bacbb091.png | Bin 0 -> 1405058 bytes
.../java-1a1bba41af766a38ce2c5abb53785db3.png | Bin 0 -> 16040 bytes
.../model-1c0c2441dd19f8b957744635985283eb.png | Bin 0 -> 823392 bytes
.../nodejs-6ddbd197a96684461fe7e1e19f946aab.png | Bin 0 -> 27603 bytes
.../php-c6cf7587c7ce90491250aa5877d5621a.png | Bin 0 -> 42168 bytes
.../python-d2e764c939405c0ddad577ca4d53f9f9.png | Bin 0 -> 20755 bytes
.../rbac-4c8e405408b9e4df554f7cd619eae897.png | Bin 0 -> 768554 bytes
.../rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png | Bin 0 -> 466139 bytes
...tion-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png | Bin 0 -> 470455 bytes
zh/assets/js/01a85c17.dce7d51e.js | 1 +
zh/assets/js/01cdc279.7a885d62.js | 1 +
zh/assets/js/03649bfa.995c1e4b.js | 1 +
zh/assets/js/0491923a.843f82c9.js | 1 +
zh/assets/js/0b67953d.5a9eee15.js | 1 +
zh/assets/js/0c154a07.781cdc10.js | 1 +
zh/assets/js/1215edde.025cba78.js | 1 +
zh/assets/js/123471e3.f28fbce7.js | 1 +
zh/assets/js/1238592d.a72fbaf6.js | 1 +
zh/assets/js/12ce6c6d.d2164757.js | 1 +
zh/assets/js/14deca0e.fbb72771.js | 1 +
zh/assets/js/14eb3368.ee36e5dc.js | 1 +
zh/assets/js/15b7baee.7367ecb4.js | 1 +
zh/assets/js/16dfe1b6.610ac407.js | 1 +
zh/assets/js/17896441.1c55263e.js | 1 +
zh/assets/js/1852af56.a47dc6ae.js | 1 +
zh/assets/js/186863e3.7d21ff20.js | 1 +
zh/assets/js/18f68fef.4058428b.js | 1 +
zh/assets/js/1a4e3797.607f840a.js | 1 +
zh/assets/js/1d59704e.19df064d.js | 1 +
zh/assets/js/1dd14095.07b13a45.js | 1 +
zh/assets/js/20f307e9.39293170.js | 1 +
zh/assets/js/2143.631f9abc.js | 1 +
zh/assets/js/2237.4c917a91.js | 1 +
zh/assets/js/22f1b4b5.d9834d05.js | 1 +
zh/assets/js/23f54f0d.3a1f7265.js | 1 +
zh/assets/js/246966c9.08358dc1.js | 1 +
zh/assets/js/247d02dc.b67f1c23.js | 1 +
zh/assets/js/25807776.3508e801.js | 1 +
zh/assets/js/25fce9fe.297d2fd3.js | 1 +
zh/assets/js/265f96c7.004106d0.js | 1 +
zh/assets/js/2693.aae57f15.js | 2 +
zh/assets/js/2693.aae57f15.js.LICENSE.txt | 1 +
zh/assets/js/276f244f.6c9094e8.js | 1 +
zh/assets/js/28a640f7.81ea19a1.js | 1 +
zh/assets/js/2dcaaf17.37010bb6.js | 1 +
zh/assets/js/2f3f12fe.4104b69c.js | 1 +
zh/assets/js/317ebbfe.73a63381.js | 1 +
zh/assets/js/3347.442b4917.js | 1 +
zh/assets/js/3362e121.70333acb.js | 1 +
zh/assets/js/34bf7c14.c9e69b7c.js | 1 +
zh/assets/js/36994c47.a0416590.js | 1 +
zh/assets/js/3739fafa.9cd202be.js | 1 +
zh/assets/js/3955.118925ae.js | 25 +
zh/assets/js/3955.118925ae.js.LICENSE.txt | 17 +
zh/assets/js/3a823dab.e0ada61e.js | 1 +
zh/assets/js/3c201011.bae5358d.js | 1 +
zh/assets/js/3d39e049.6edd91b2.js | 1 +
zh/assets/js/3da55543.3deeea33.js | 1 +
zh/assets/js/416.ffc71866.js | 1 +
zh/assets/js/469cd0a3.22b536d3.js | 1 +
zh/assets/js/46a2af48.40bff8fa.js | 1 +
zh/assets/js/475be556.0b28988a.js | 1 +
zh/assets/js/50b017af.dc0b9268.js | 1 +
zh/assets/js/51e6b723.13f8cacf.js | 1 +
zh/assets/js/58a1686d.94b1f4a6.js | 1 +
zh/assets/js/5a6481b5.e95ee39c.js | 1 +
zh/assets/js/5a795a74.5a8311ae.js | 1 +
zh/assets/js/5e95c892.4d39f66c.js | 1 +
zh/assets/js/603f3de9.64efeea2.js | 1 +
zh/assets/js/621db11d.e8bb016f.js | 1 +
zh/assets/js/63c965aa.3e3d3251.js | 1 +
zh/assets/js/67a05c30.742d12ea.js | 1 +
zh/assets/js/6875c492.1b5dc22a.js | 1 +
zh/assets/js/6ef952a3.df5a3e68.js | 1 +
zh/assets/js/70f7d784.6cd94065.js | 1 +
zh/assets/js/70fe0be2.aaec91d2.js | 1 +
zh/assets/js/721b19a1.245a4cb8.js | 1 +
zh/assets/js/739e32bb.3387b80c.js | 1 +
zh/assets/js/7a0a7959.891914a4.js | 1 +
zh/assets/js/7cb48a57.b9c21977.js | 1 +
zh/assets/js/7e37206e.68dee4e3.js | 1 +
zh/assets/js/814f3328.22e817ad.js | 1 +
zh/assets/js/827acb07.7df53e12.js | 1 +
zh/assets/js/82f1fb0b.201d1565.js | 1 +
zh/assets/js/84ac9fb2.34cfc134.js | 1 +
zh/assets/js/85e0da9a.27f120ca.js | 1 +
zh/assets/js/8756cac0.60d2f967.js | 1 +
zh/assets/js/8913.dcb61d6c.js | 1 +
zh/assets/js/8c6709f0.47d70b72.js | 1 +
zh/assets/js/8d18e4b0.f8516928.js | 1 +
zh/assets/js/8e5e6c39.99ee6cce.js | 1 +
zh/assets/js/900fdf9c.2d866ca1.js | 1 +
zh/assets/js/90fd1368.2be56e27.js | 1 +
zh/assets/js/922e87a1.1b2058c8.js | 1 +
zh/assets/js/9785.a386bbff.js | 1 +
zh/assets/js/97b9e5c3.bcdbeed5.js | 1 +
zh/assets/js/99685645.8d0b3f10.js | 1 +
zh/assets/js/996d3151.687a46e0.js | 1 +
zh/assets/js/9ca38ec5.e5909493.js | 1 +
zh/assets/js/9d3d6946.3f8b055f.js | 1 +
zh/assets/js/9d53f22b.3603c5a5.js | 1 +
zh/assets/js/9e4087bc.9269875d.js | 1 +
zh/assets/js/a6aa9e1f.165a5b46.js | 1 +
zh/assets/js/a7456010.4ce1f9e1.js | 1 +
zh/assets/js/a7bd4aaa.fea2f11b.js | 1 +
zh/assets/js/a94703ab.c810baba.js | 1 +
zh/assets/js/aa202a2e.b3271b2e.js | 1 +
zh/assets/js/aba21aa0.8989bbd3.js | 1 +
zh/assets/js/acecf23e.09798aea.js | 1 +
zh/assets/js/ae1323c7.e57c6c30.js | 1 +
zh/assets/js/af913d4d.b93183a2.js | 1 +
zh/assets/js/afeac710.0b785c81.js | 1 +
zh/assets/js/b04dc972.39cc3c1f.js | 1 +
zh/assets/js/b37ecb89.99423982.js | 1 +
zh/assets/js/b444a6e4.28c05cd1.js | 1 +
zh/assets/js/b4a38685.300d2fdd.js | 1 +
zh/assets/js/b6ab6409.ff2df1ae.js | 1 +
zh/assets/js/bc5a88d1.3d7c2bde.js | 1 +
zh/assets/js/c141421f.266bc054.js | 1 +
zh/assets/js/c356f9fe.a41f604e.js | 1 +
zh/assets/js/c430d4b6.d158379a.js | 1 +
zh/assets/js/c4e8cbe5.8ea4567d.js | 1 +
zh/assets/js/c4f5d8e4.d849bf54.js | 2 +
zh/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt | 6 +
zh/assets/js/c8e5c5ee.222026f7.js | 1 +
zh/assets/js/cc2d1ee8.0bac1f6f.js | 1 +
zh/assets/js/ccc49370.dab9e754.js | 1 +
zh/assets/js/cff22534.d72e8e1e.js | 1 +
zh/assets/js/d54daf3b.cca2e4cf.js | 1 +
zh/assets/js/da980707.9a6cfd53.js | 1 +
zh/assets/js/de51c3c1.b5b2ad46.js | 1 +
zh/assets/js/e1f32a4f.f3ff2562.js | 1 +
zh/assets/js/e74a79a5.95553122.js | 1 +
zh/assets/js/ea5f88a6.ec94b19e.js | 1 +
zh/assets/js/ec904daf.73c935b6.js | 1 +
zh/assets/js/ed4c625d.33dafaa9.js | 1 +
zh/assets/js/edea06b3.81e2657b.js | 1 +
zh/assets/js/f3e2c9e8.36a783d1.js | 1 +
zh/assets/js/f4df42fa.96293e9c.js | 1 +
zh/assets/js/fcb9375c.ae1291d6.js | 1 +
zh/assets/js/fd9d9c89.1b90b4d4.js | 1 +
zh/assets/js/main.60d51422.js | 2 +
zh/assets/js/main.60d51422.js.LICENSE.txt | 51 +
zh/assets/js/runtime~main.428a58c5.js | 1 +
.../2018/08/07/launching-casbin-server/index.html | 97 +
zh/blog/2018/08/27/node-casbin/index.html | 91 +
zh/blog/2018/09/23/new-website/index.html | 90 +
zh/blog/2020/04/21/google-award/index.html | 99 +
.../08/19/apisix-casbin-authorization/index.html | 124 ++
.../index.html | 169 ++
zh/blog/archive/index.html | 88 +
zh/blog/atom.xml | 277 +++
zh/blog/authors/index.html | 88 +
zh/blog/casbin-2025-ai-agent-era/index.html | 123 ++
zh/blog/index.html | 90 +
zh/blog/rss.xml | 251 +++
zh/blog/tags/ai/index.html | 88 +
zh/blog/tags/casbin/index.html | 88 +
zh/blog/tags/edge-computing/index.html | 88 +
zh/blog/tags/index.html | 88 +
zh/blog/tags/llm/index.html | 88 +
zh/blog/tags/mcp/index.html | 88 +
zh/blog/tags/roadmap/index.html | 88 +
zh/casbin-editor/index.html | 29 +
zh/data/users.json | 170 ++
zh/docs/abac/index.html | 112 ++
zh/docs/adapters/index.html | 178 ++
zh/docs/admin-portal/index.html | 92 +
zh/docs/adopters/index.html | 92 +
zh/docs/api-overview/index.html | 154 ++
zh/docs/benchmark/index.html | 93 +
zh/docs/biba/index.html | 134 ++
zh/docs/blp/index.html | 123 ++
zh/docs/category/about--more/index.html | 88 +
zh/docs/category/access-control-models/index.html | 88 +
zh/docs/category/advanced-usage/index.html | 88 +
zh/docs/category/api/index.html | 88 +
zh/docs/category/basics/index.html | 88 +
zh/docs/category/editors--tools/index.html | 88 +
zh/docs/category/management/index.html | 88 +
zh/docs/category/storage/index.html | 88 +
zh/docs/category/use-cases/index.html | 88 +
zh/docs/cloud-native/index.html | 90 +
zh/docs/command-line-tools/index.html | 189 ++
zh/docs/contributing/index.html | 130 ++
zh/docs/data-permissions/index.html | 94 +
zh/docs/dispatchers/index.html | 95 +
zh/docs/effector/index.html | 103 +
zh/docs/enforcers/index.html | 91 +
zh/docs/envoy/index.html | 121 ++
zh/docs/frontend/index.html | 138 ++
zh/docs/function/index.html | 121 ++
zh/docs/get-started/index.html | 108 ++
zh/docs/graphql-middlewares/index.html | 92 +
zh/docs/how-it-works/index.html | 125 ++
zh/docs/ide-plugins/index.html | 97 +
zh/docs/k8s-gatekeeper/index.html | 290 +++
zh/docs/kong-authz/index.html | 157 ++
zh/docs/lbac/index.html | 124 ++
zh/docs/log-error/index.html | 119 ++
zh/docs/mac-overview/index.html | 109 ++
zh/docs/management-api/index.html | 383 ++++
zh/docs/menu-permissions/index.html | 128 ++
zh/docs/middlewares/index.html | 92 +
zh/docs/model-storage/index.html | 101 +
zh/docs/multi-threading/index.html | 89 +
zh/docs/online-editor/index.html | 109 ++
zh/docs/orbac/index.html | 121 ++
zh/docs/overview/index.html | 114 ++
zh/docs/pbac/index.html | 116 ++
zh/docs/performance/index.html | 102 +
zh/docs/plugins-overview/index.html | 105 +
zh/docs/policy-storage/index.html | 107 ++
zh/docs/policy-subset-loading/index.html | 92 +
zh/docs/priority-model/index.html | 118 ++
zh/docs/privacy-policy/index.html | 95 +
zh/docs/rbac-96/index.html | 99 +
zh/docs/rbac-api/index.html | 278 +++
zh/docs/rbac-overview/index.html | 104 +
zh/docs/rbac-with-conditions-api/index.html | 101 +
zh/docs/rbac-with-conditions/index.html | 112 ++
zh/docs/rbac-with-domains-api/index.html | 131 ++
zh/docs/rbac-with-domains/index.html | 103 +
zh/docs/rbac-with-pattern/index.html | 119 ++
zh/docs/rbac/index.html | 116 ++
zh/docs/rebac/index.html | 106 ++
zh/docs/role-managers/index.html | 91 +
zh/docs/rolemanager-api/index.html | 135 ++
zh/docs/service/index.html | 89 +
zh/docs/superadmin/index.html | 90 +
zh/docs/supported-models/index.html | 110 ++
zh/docs/syntax-for-models/index.html | 162 ++
zh/docs/terms-of-service/index.html | 110 ++
zh/docs/tutorials/index.html | 140 ++
zh/docs/ucon/index.html | 139 ++
zh/docs/watchers/index.html | 95 +
zh/ecosystem/index.html | 88 +
zh/editor/index.html | 88 +
zh/fonts/FiraCode-VF.woff | Bin 0 -> 138576 bytes
zh/fonts/FiraCode-VF.woff2 | Bin 0 -> 113088 bytes
zh/fonts/Inter-italic.var.woff2 | Bin 0 -> 245036 bytes
zh/fonts/Inter-roman.var.woff2 | Bin 0 -> 227180 bytes
zh/gallery/index.html | 88 +
zh/help/index.html | 88 +
zh/img/asf_logo_wide_small.png | Bin 0 -> 32278 bytes
zh/img/background.png | Bin 0 -> 429128 bytes
zh/img/blog/model.png | Bin 0 -> 823392 bytes
zh/img/casbin.svg | 10 +
zh/img/casbin_min.svg | 9 +
zh/img/docusaurus.png | Bin 0 -> 5142 bytes
zh/img/ecosystem/DB.png | Bin 0 -> 4554 bytes
zh/img/ecosystem/DBAL.png | Bin 0 -> 3220 bytes
zh/img/ecosystem/JDBC.png | Bin 0 -> 2177 bytes
zh/img/ecosystem/SQL.png | Bin 0 -> 2693 bytes
zh/img/ecosystem/actix.png | Bin 0 -> 3415 bytes
zh/img/ecosystem/amazonS3.png | Bin 0 -> 3140 bytes
zh/img/ecosystem/apisix.png | Bin 0 -> 8329 bytes
zh/img/ecosystem/arangoDB.png | Bin 0 -> 5900 bytes
zh/img/ecosystem/asp.jpeg | Bin 0 -> 6238 bytes
zh/img/ecosystem/auth0.png | Bin 0 -> 3829 bytes
zh/img/ecosystem/badger.png | Bin 0 -> 8124 bytes
zh/img/ecosystem/beego.png | Bin 0 -> 3988 bytes
zh/img/ecosystem/bolt.png | Bin 0 -> 2364 bytes
zh/img/ecosystem/buffalo.jpeg | Bin 0 -> 9321 bytes
zh/img/ecosystem/caddy.jpeg | Bin 0 -> 8685 bytes
zh/img/ecosystem/cake.png | Bin 0 -> 3670 bytes
zh/img/ecosystem/cassandra.png | Bin 0 -> 10610 bytes
zh/img/ecosystem/chi.png | Bin 0 -> 2216 bytes
zh/img/ecosystem/codeIgniter.png | Bin 0 -> 4958 bytes
zh/img/ecosystem/cosmosDB.png | Bin 0 -> 6337 bytes
zh/img/ecosystem/couchBase.png | Bin 0 -> 3467 bytes
zh/img/ecosystem/django.png | Bin 0 -> 3266 bytes
zh/img/ecosystem/dynamoDB.png | Bin 0 -> 2621 bytes
zh/img/ecosystem/echo.png | Bin 0 -> 3599 bytes
zh/img/ecosystem/egg.jpeg | Bin 0 -> 3904 bytes
zh/img/ecosystem/etcd.png | Bin 0 -> 3569 bytes
zh/img/ecosystem/express.png | Bin 0 -> 2942 bytes
zh/img/ecosystem/fastapi.png | Bin 0 -> 2745 bytes
zh/img/ecosystem/fastify.png | Bin 0 -> 4551 bytes
zh/img/ecosystem/fiber.png | Bin 0 -> 2327 bytes
zh/img/ecosystem/file.png | Bin 0 -> 2099 bytes
zh/img/ecosystem/firestore.jpeg | Bin 0 -> 4706 bytes
zh/img/ecosystem/flask.png | Bin 0 -> 7317 bytes
zh/img/ecosystem/gin.jpeg | Bin 0 -> 9237 bytes
zh/img/ecosystem/goframe.png | Bin 0 -> 3683 bytes
zh/img/ecosystem/gokit.png | Bin 0 -> 5216 bytes
zh/img/ecosystem/googleCloudStorage.png | Bin 0 -> 2428 bytes
zh/img/ecosystem/hapi.png | Bin 0 -> 4056 bytes
zh/img/ecosystem/hashicorp.png | Bin 0 -> 2136 bytes
zh/img/ecosystem/hertz.png | Bin 0 -> 2892 bytes
zh/img/ecosystem/hono.png | Bin 0 -> 7365 bytes
zh/img/ecosystem/http.png | Bin 0 -> 2071 bytes
zh/img/ecosystem/iris.png | Bin 0 -> 4992 bytes
zh/img/ecosystem/json.png | Bin 0 -> 2396 bytes
zh/img/ecosystem/jwt.png | Bin 0 -> 3725 bytes
zh/img/ecosystem/kafka.png | Bin 0 -> 3511 bytes
zh/img/ecosystem/koa.png | Bin 0 -> 2344 bytes
zh/img/ecosystem/kratos.png | Bin 0 -> 2553 bytes
zh/img/ecosystem/kubernetes.png | Bin 0 -> 24528 bytes
zh/img/ecosystem/laravel.png | Bin 0 -> 3089 bytes
zh/img/ecosystem/lettuce.png | Bin 0 -> 5177 bytes
zh/img/ecosystem/loopback.png | Bin 0 -> 3676 bytes
zh/img/ecosystem/macaron.png | Bin 0 -> 11539 bytes
zh/img/ecosystem/memory.png | Bin 0 -> 5879 bytes
zh/img/ecosystem/monogoDB.png | Bin 0 -> 3924 bytes
zh/img/ecosystem/monogoEngine.png | Bin 0 -> 3550 bytes
zh/img/ecosystem/mosquitto.png | Bin 0 -> 24770 bytes
zh/img/ecosystem/mybatis.jpeg | Bin 0 -> 4476 bytes
zh/img/ecosystem/nats.png | Bin 0 -> 5145 bytes
zh/img/ecosystem/nest.png | Bin 0 -> 3828 bytes
zh/img/ecosystem/nginx.png | Bin 0 -> 4379 bytes
zh/img/ecosystem/nuzt.png | Bin 0 -> 4527 bytes
zh/img/ecosystem/okta.png | Bin 0 -> 3839 bytes
zh/img/ecosystem/openResty.png | Bin 0 -> 4597 bytes
zh/img/ecosystem/openstack.png | Bin 0 -> 5034 bytes
zh/img/ecosystem/phalcon.png | Bin 0 -> 4793 bytes
zh/img/ecosystem/poem.jpeg | Bin 0 -> 6144 bytes
zh/img/ecosystem/postgreSQL.png | Bin 0 -> 6855 bytes
zh/img/ecosystem/protobuf.png | Bin 0 -> 3948 bytes
zh/img/ecosystem/pubsub.png | Bin 0 -> 3600 bytes
zh/img/ecosystem/rabbitMQ.png | Bin 0 -> 5208 bytes
zh/img/ecosystem/redis.png | Bin 0 -> 4237 bytes
zh/img/ecosystem/rethinkDB.png | Bin 0 -> 4264 bytes
zh/img/ecosystem/revel.png | Bin 0 -> 2447 bytes
zh/img/ecosystem/rocket.jpeg | Bin 0 -> 4291 bytes
zh/img/ecosystem/rocketMQ.png | Bin 0 -> 4633 bytes
zh/img/ecosystem/rqlite.png | Bin 0 -> 884 bytes
zh/img/ecosystem/session.png | Bin 0 -> 3129 bytes
zh/img/ecosystem/shiro.jpeg | Bin 0 -> 6118 bytes
zh/img/ecosystem/spanner.png | Bin 0 -> 5219 bytes
zh/img/ecosystem/springboot.png | Bin 0 -> 4254 bytes
zh/img/ecosystem/string.png | Bin 0 -> 5368 bytes
zh/img/ecosystem/symfony.png | Bin 0 -> 4554 bytes
zh/img/ecosystem/thinkPHP.png | Bin 0 -> 4902 bytes
zh/img/ecosystem/tikv.png | Bin 0 -> 3115 bytes
zh/img/ecosystem/tornado.png | Bin 0 -> 5746 bytes
zh/img/ecosystem/traefik.png | Bin 0 -> 4838 bytes
zh/img/ecosystem/vapor.png | Bin 0 -> 2282 bytes
zh/img/ecosystem/yaml.png | Bin 0 -> 2188 bytes
zh/img/ecosystem/yii.png | Bin 0 -> 3343 bytes
zh/img/ecosystem/zookeeper.png | Bin 0 -> 8343 bytes
zh/img/editor-ai.png | Bin 0 -> 271698 bytes
zh/img/editor-endpoint.png | Bin 0 -> 57531 bytes
zh/img/editor-engine.png | Bin 0 -> 105638 bytes
zh/img/editor-multi-engine.png | Bin 0 -> 227138 bytes
zh/img/editor-tips.png | Bin 0 -> 12133 bytes
zh/img/editor-upload.png | Bin 0 -> 36050 bytes
zh/img/favicon.ico | Bin 0 -> 3626 bytes
zh/img/favicon.png | Bin 0 -> 10527 bytes
zh/img/github.png | Bin 0 -> 23729 bytes
zh/img/langs/cpp.png | Bin 0 -> 21992 bytes
zh/img/langs/delphi.png | Bin 0 -> 30246 bytes
zh/img/langs/dotnet.png | Bin 0 -> 41524 bytes
zh/img/langs/golang.png | Bin 0 -> 54614 bytes
zh/img/langs/java.png | Bin 0 -> 16040 bytes
zh/img/langs/nodejs.png | Bin 0 -> 27603 bytes
zh/img/langs/php.png | Bin 0 -> 42168 bytes
zh/img/langs/python.png | Bin 0 -> 20755 bytes
zh/img/langs/rust.png | Bin 0 -> 8291 bytes
zh/img/language-dark.png | Bin 0 -> 30816 bytes
zh/img/language.png | Bin 0 -> 50757 bytes
zh/img/language.svg | 710 +++++++
zh/img/logo.svg | 1 +
zh/img/model-dark.png | Bin 0 -> 21754 bytes
zh/img/model.png | Bin 0 -> 8670 bytes
zh/img/model.svg | 146 ++
.../rbac/conditional_rolemanager_with_domains.png | Bin 0 -> 183760 bytes
zh/img/role.png | Bin 0 -> 78158 bytes
zh/img/scale.png | Bin 0 -> 16385 bytes
zh/img/storage-dark.png | Bin 0 -> 19568 bytes
zh/img/storage.png | Bin 0 -> 26864 bytes
zh/img/storage.svg | 477 +++++
zh/img/store.png | Bin 0 -> 35459 bytes
zh/img/store.svg | 2005 ++++++++++++++++++++
zh/img/tutorial/acl.png | Bin 0 -> 633359 bytes
zh/img/tutorial/docsVersionDropdown.png | Bin 0 -> 25102 bytes
zh/img/tutorial/hrbac-act-match.png | Bin 0 -> 1295889 bytes
zh/img/tutorial/hrbac-obj-match.png | Bin 0 -> 1301698 bytes
zh/img/tutorial/hrbac-sub-match.png | Bin 0 -> 1405058 bytes
zh/img/tutorial/hrbac.png | Bin 0 -> 1219406 bytes
zh/img/tutorial/localeDropdown.png | Bin 0 -> 30020 bytes
zh/img/tutorial/rbac.png | Bin 0 -> 768554 bytes
zh/img/tutorial/rg-owner.png | Bin 0 -> 466139 bytes
zh/img/tutorial/subscription-owner.png | Bin 0 -> 470455 bytes
zh/img/undraw_docusaurus_mountain.svg | 170 ++
zh/img/undraw_docusaurus_react.svg | 169 ++
zh/img/undraw_docusaurus_tree.svg | 1 +
zh/img/users/360.png | Bin 0 -> 15651 bytes
zh/img/users/alibaba.png | Bin 0 -> 160461 bytes
zh/img/users/bose.png | Bin 0 -> 3360 bytes
zh/img/users/bytebase.png | Bin 0 -> 11023 bytes
zh/img/users/cisco.png | Bin 0 -> 10262 bytes
zh/img/users/docker.png | Bin 0 -> 6192 bytes
zh/img/users/elastic.png | Bin 0 -> 42387 bytes
zh/img/users/eth.png | Bin 0 -> 46321 bytes
zh/img/users/f5.png | Bin 0 -> 49662 bytes
zh/img/users/honeywell.png | Bin 0 -> 57802 bytes
zh/img/users/hpe.png | Bin 0 -> 32136 bytes
zh/img/users/ibm.png | Bin 0 -> 24323 bytes
zh/img/users/intel.png | Bin 0 -> 17619 bytes
zh/img/users/jdlt.png | Bin 0 -> 13501 bytes
zh/img/users/microsoft.png | Bin 0 -> 13325 bytes
zh/img/users/musma.png | Bin 0 -> 9343 bytes
zh/img/users/ontario.png | Bin 0 -> 38267 bytes
zh/img/users/orange.png | Bin 0 -> 5217 bytes
zh/img/users/pulsar.png | Bin 0 -> 8905 bytes
zh/img/users/redhat.png | Bin 0 -> 33950 bytes
zh/img/users/rspacex.png | Bin 0 -> 52166 bytes
zh/img/users/se.png | Bin 0 -> 2963 bytes
zh/img/users/siemens.png | Bin 0 -> 5285 bytes
zh/img/users/t-mobile.png | Bin 0 -> 74117 bytes
zh/img/users/tencent.png | Bin 0 -> 10932 bytes
zh/img/users/verizon.png | Bin 0 -> 22526 bytes
zh/img/users/vmware.png | Bin 0 -> 10251 bytes
zh/img/users/zilliz.png | Bin 0 -> 7611 bytes
zh/index.html | 88 +
zh/js/clarity.js | 5 +
zh/js/hotjar.js | 12 +
zh/js/probe.js | 1 +
zh/js/tawk.js | 9 +
zh/opensearch.xml | 11 +
zh/robots.txt | 2 +
zh/search/index.html | 88 +
zh/sitemap.xml | 1 +
zh/users/index.html | 88 +
7566 files changed, 264301 insertions(+)
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 00000000..c73741cd
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+github:
+ description: "Apache Casbin Website"
+ homepage: https://casbin.apache.org/
+ features:
+ issues: true
+ projects: false
+ wiki: false
+ labels:
+ - casbin
+ enabled_merge_buttons:
+ squash: true
+ merge: false
+ rebase: false
+ protected_branches:
+ # prevent accidentially deleted
+ master: {}
+
+publish:
+ whoami: asf-site
+
+notifications:
+ commits: commits@casbin.apache.org
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 00000000..e69de29b
diff --git a/404.html b/404.html
new file mode 100644
index 00000000..ed150da8
--- /dev/null
+++ b/404.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="plugin-native plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">Page Not Found | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data-rh="true" property="og:locale:alternate" content="ko"><meta data-rh="tr [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/assets/css/styles.0576a95c.css">
+<script src="/assets/js/runtime~main.1793b509.js" defer="defer"></script>
+<script src="/assets/js/main.4d5efb5b.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div class="foo [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/.nojekyll b/ar/.nojekyll
new file mode 100644
index 00000000..e69de29b
diff --git a/ar/404.html b/ar/404.html
new file mode 100644
index 00000000..00e7adc7
--- /dev/null
+++ b/ar/404.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="plugin-native plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">الصفحة غير موجودة | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/404.html"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data- [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/assets/css/styles.56e094d1.css b/ar/assets/css/styles.56e094d1.css
new file mode 100644
index 00000000..ea90360d
--- /dev/null
+++ b/ar/assets/css/styles.56e094d1.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middl [...]
\ No newline at end of file
diff --git a/ar/assets/fonts/FiraCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 b/ar/assets/fonts/FiraCode-VF-7fef988ad994d5988ff35169433fe81b.woff2
new file mode 100644
index 00000000..e755a9dc
Binary files /dev/null and b/ar/assets/fonts/FiraCode-VF-7fef988ad994d5988ff35169433fe81b.woff2 differ
diff --git a/ar/assets/fonts/FiraCode-VF-d7af67f866f9a5e0a113332ad9287227.woff b/ar/assets/fonts/FiraCode-VF-d7af67f866f9a5e0a113332ad9287227.woff
new file mode 100644
index 00000000..c3407eda
Binary files /dev/null and b/ar/assets/fonts/FiraCode-VF-d7af67f866f9a5e0a113332ad9287227.woff differ
diff --git a/ar/assets/fonts/Inter-roman.var-ba4caefcdf5b36b438db92786991c845.woff2 b/ar/assets/fonts/Inter-roman.var-ba4caefcdf5b36b438db92786991c845.woff2
new file mode 100644
index 00000000..6a256a06
Binary files /dev/null and b/ar/assets/fonts/Inter-roman.var-ba4caefcdf5b36b438db92786991c845.woff2 differ
diff --git a/ar/assets/images/acl-704097c47b27a1f2235c82f593af469e.png b/ar/assets/images/acl-704097c47b27a1f2235c82f593af469e.png
new file mode 100644
index 00000000..7b0bafac
Binary files /dev/null and b/ar/assets/images/acl-704097c47b27a1f2235c82f593af469e.png differ
diff --git a/ar/assets/images/conditional_rolemanager_with_domains-68da0ab873982624da59e159d4b2df45.png b/ar/assets/images/conditional_rolemanager_with_domains-68da0ab873982624da59e159d4b2df45.png
new file mode 100644
index 00000000..97bbe749
Binary files /dev/null and b/ar/assets/images/conditional_rolemanager_with_domains-68da0ab873982624da59e159d4b2df45.png differ
diff --git a/ar/assets/images/cpp-56b38b73abf68f92c17de2d420951248.png b/ar/assets/images/cpp-56b38b73abf68f92c17de2d420951248.png
new file mode 100644
index 00000000..449a7193
Binary files /dev/null and b/ar/assets/images/cpp-56b38b73abf68f92c17de2d420951248.png differ
diff --git a/ar/assets/images/dotnet-72b4fc5b6729af5affc0dad178cca8e8.png b/ar/assets/images/dotnet-72b4fc5b6729af5affc0dad178cca8e8.png
new file mode 100644
index 00000000..8da098b1
Binary files /dev/null and b/ar/assets/images/dotnet-72b4fc5b6729af5affc0dad178cca8e8.png differ
diff --git a/ar/assets/images/editor-ai-8030eaab11b71a19113d4ab90032a242.png b/ar/assets/images/editor-ai-8030eaab11b71a19113d4ab90032a242.png
new file mode 100644
index 00000000..8af200c4
Binary files /dev/null and b/ar/assets/images/editor-ai-8030eaab11b71a19113d4ab90032a242.png differ
diff --git a/ar/assets/images/editor-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png b/ar/assets/images/editor-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png
new file mode 100644
index 00000000..65169bca
Binary files /dev/null and b/ar/assets/images/editor-endpoint-4bc4464a72e3dcd245ad65bb5fa07292.png differ
diff --git a/ar/assets/images/editor-engine-72189cabe5c8708aa3e2496841137e35.png b/ar/assets/images/editor-engine-72189cabe5c8708aa3e2496841137e35.png
new file mode 100644
index 00000000..27457897
Binary files /dev/null and b/ar/assets/images/editor-engine-72189cabe5c8708aa3e2496841137e35.png differ
diff --git a/ar/assets/images/editor-multi-engine-3c614347cce5c96a5b733000204e94e1.png b/ar/assets/images/editor-multi-engine-3c614347cce5c96a5b733000204e94e1.png
new file mode 100644
index 00000000..4bd33a99
Binary files /dev/null and b/ar/assets/images/editor-multi-engine-3c614347cce5c96a5b733000204e94e1.png differ
diff --git a/ar/assets/images/editor-tips-2c4bf3155a73f079c976e5ad118d5518.png b/ar/assets/images/editor-tips-2c4bf3155a73f079c976e5ad118d5518.png
new file mode 100644
index 00000000..8f660fda
Binary files /dev/null and b/ar/assets/images/editor-tips-2c4bf3155a73f079c976e5ad118d5518.png differ
diff --git a/ar/assets/images/editor-upload-512eb21fc92e9137e9cf4630d9689d92.png b/ar/assets/images/editor-upload-512eb21fc92e9137e9cf4630d9689d92.png
new file mode 100644
index 00000000..6e345cc3
Binary files /dev/null and b/ar/assets/images/editor-upload-512eb21fc92e9137e9cf4630d9689d92.png differ
diff --git a/ar/assets/images/golang-bb03eb73d50185d94e628cc517857215.png b/ar/assets/images/golang-bb03eb73d50185d94e628cc517857215.png
new file mode 100644
index 00000000..c6d3ff00
Binary files /dev/null and b/ar/assets/images/golang-bb03eb73d50185d94e628cc517857215.png differ
diff --git a/ar/assets/images/hrbac-1350d755e04234a34394996344d2b259.png b/ar/assets/images/hrbac-1350d755e04234a34394996344d2b259.png
new file mode 100644
index 00000000..5f2bea80
Binary files /dev/null and b/ar/assets/images/hrbac-1350d755e04234a34394996344d2b259.png differ
diff --git a/ar/assets/images/hrbac-act-match-bbb086158782591771f2df01419dc4b8.png b/ar/assets/images/hrbac-act-match-bbb086158782591771f2df01419dc4b8.png
new file mode 100644
index 00000000..fc715146
Binary files /dev/null and b/ar/assets/images/hrbac-act-match-bbb086158782591771f2df01419dc4b8.png differ
diff --git a/ar/assets/images/hrbac-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png b/ar/assets/images/hrbac-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png
new file mode 100644
index 00000000..99ef0a3f
Binary files /dev/null and b/ar/assets/images/hrbac-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png differ
diff --git a/ar/assets/images/hrbac-sub-match-55dffd4e5fadb9773658dc90bacbb091.png b/ar/assets/images/hrbac-sub-match-55dffd4e5fadb9773658dc90bacbb091.png
new file mode 100644
index 00000000..12aa8fde
Binary files /dev/null and b/ar/assets/images/hrbac-sub-match-55dffd4e5fadb9773658dc90bacbb091.png differ
diff --git a/ar/assets/images/java-1a1bba41af766a38ce2c5abb53785db3.png b/ar/assets/images/java-1a1bba41af766a38ce2c5abb53785db3.png
new file mode 100644
index 00000000..286a365b
Binary files /dev/null and b/ar/assets/images/java-1a1bba41af766a38ce2c5abb53785db3.png differ
diff --git a/ar/assets/images/model-1c0c2441dd19f8b957744635985283eb.png b/ar/assets/images/model-1c0c2441dd19f8b957744635985283eb.png
new file mode 100644
index 00000000..a11aa594
Binary files /dev/null and b/ar/assets/images/model-1c0c2441dd19f8b957744635985283eb.png differ
diff --git a/ar/assets/images/nodejs-6ddbd197a96684461fe7e1e19f946aab.png b/ar/assets/images/nodejs-6ddbd197a96684461fe7e1e19f946aab.png
new file mode 100644
index 00000000..20a24388
Binary files /dev/null and b/ar/assets/images/nodejs-6ddbd197a96684461fe7e1e19f946aab.png differ
diff --git a/ar/assets/images/php-c6cf7587c7ce90491250aa5877d5621a.png b/ar/assets/images/php-c6cf7587c7ce90491250aa5877d5621a.png
new file mode 100644
index 00000000..2a58cd6c
Binary files /dev/null and b/ar/assets/images/php-c6cf7587c7ce90491250aa5877d5621a.png differ
diff --git a/ar/assets/images/python-d2e764c939405c0ddad577ca4d53f9f9.png b/ar/assets/images/python-d2e764c939405c0ddad577ca4d53f9f9.png
new file mode 100644
index 00000000..5818a6d7
Binary files /dev/null and b/ar/assets/images/python-d2e764c939405c0ddad577ca4d53f9f9.png differ
diff --git a/ar/assets/images/rbac-4c8e405408b9e4df554f7cd619eae897.png b/ar/assets/images/rbac-4c8e405408b9e4df554f7cd619eae897.png
new file mode 100644
index 00000000..532ca72a
Binary files /dev/null and b/ar/assets/images/rbac-4c8e405408b9e4df554f7cd619eae897.png differ
diff --git a/ar/assets/images/rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png b/ar/assets/images/rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png
new file mode 100644
index 00000000..5736b7e1
Binary files /dev/null and b/ar/assets/images/rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png differ
diff --git a/ar/assets/images/subscription-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png b/ar/assets/images/subscription-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png
new file mode 100644
index 00000000..ebcf1bbc
Binary files /dev/null and b/ar/assets/images/subscription-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png differ
diff --git a/ar/assets/js/01a28382.04a03824.js b/ar/assets/js/01a28382.04a03824.js
new file mode 100644
index 00000000..b5711fc9
--- /dev/null
+++ b/ar/assets/js/01a28382.04a03824.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4154],{1895(e,n,s){s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>t,metadata:()=>r,toc:()=>a});const r=JSON.parse('{"id":"performance","title":"Performance Optimization","description":"\u062a\u062d\u0633\u064a\u0646 \u0623\u062f\u0627\u0621 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/Performance.mdx","sourceDirName":".","slug" [...]
\ No newline at end of file
diff --git a/ar/assets/js/01a85c17.dce7d51e.js b/ar/assets/js/01a85c17.dce7d51e.js
new file mode 100644
index 00000000..d2d4b24e
--- /dev/null
+++ b/ar/assets/js/01a85c17.dce7d51e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8209],{4096(e,t,a){a.d(t,{in:()=>c,OU:()=>y,Ki:()=>_,kJ:()=>b,x:()=>l,e7:()=>m,J_:()=>f,Gx:()=>A});var s=a(6540),n=a(9532),i=a(6803),r=a(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);funct [...]
\ No newline at end of file
diff --git a/ar/assets/js/020a3e51.3c398f57.js b/ar/assets/js/020a3e51.3c398f57.js
new file mode 100644
index 00000000..2e662f23
--- /dev/null
+++ b/ar/assets/js/020a3e51.3c398f57.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7206],{3551(e,i,n){n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"tutorials","title":"Tutorials","description":"\u062f\u0631\u0648\u0633 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/Tutorial.mdx","sourceDirName":".","slug":"/tutorials","permalink":"/ar/docs/tutorials","dra [...]
\ No newline at end of file
diff --git a/ar/assets/js/02cf54fd.3d6147db.js b/ar/assets/js/02cf54fd.3d6147db.js
new file mode 100644
index 00000000..40d62f84
--- /dev/null
+++ b/ar/assets/js/02cf54fd.3d6147db.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[935],{8453(e,a,l){l.d(a,{R:()=>i,x:()=>c});var n=l(6540);const d={},r=n.createContext(d);function i(e){const a=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),n.createElement(r.Provider,{value:a},e.childr [...]
\ No newline at end of file
diff --git a/ar/assets/js/095721a4.b84c4b81.js b/ar/assets/js/095721a4.b84c4b81.js
new file mode 100644
index 00000000..9d0d1b84
--- /dev/null
+++ b/ar/assets/js/095721a4.b84c4b81.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7590],{4208(n,e,i){i.r(e),i.d(e,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>d,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"rbac-with-conditions-api","title":"RBAC with Conditions API","description":"\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0623\u0643\u062b\u0631 \u0633\u0647\u0648\u0644\u0 [...]
\ No newline at end of file
diff --git a/ar/assets/js/0a4d46d6.2b5de234.js b/ar/assets/js/0a4d46d6.2b5de234.js
new file mode 100644
index 00000000..b2268dfd
--- /dev/null
+++ b/ar/assets/js/0a4d46d6.2b5de234.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1254],{8156(e,t,n){n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"effector","title":"Effector","description":"\u0648\u0627\u062c\u0647\u0629 Effector \u0641\u064a Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/Effector.mdx","sourceDirName":".","slug":"/effector","permalink": [...]
\ No newline at end of file
diff --git a/ar/assets/js/11aecb9f.c022f396.js b/ar/assets/js/11aecb9f.c022f396.js
new file mode 100644
index 00000000..aeb58c9a
--- /dev/null
+++ b/ar/assets/js/11aecb9f.c022f396.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[3269],{8071(e,i,t){t.r(i),t.d(i,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"biba","title":"Biba","description":"Biba Integrity Model in Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/Biba.mdx","sourceDirName":".","slug":"/biba","permalink":"/ar/docs/biba","draft":false,"unlisted":fals [...]
\ No newline at end of file
diff --git a/ar/assets/js/11ecef33.43e86072.js b/ar/assets/js/11ecef33.43e86072.js
new file mode 100644
index 00000000..767053e1
--- /dev/null
+++ b/ar/assets/js/11ecef33.43e86072.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2914],{6759(e,t,r){r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"superadmin","title":"Super Administrator","description":"\u0627\u0644\u0645\u062f\u064a\u0631 \u0627\u0644\u0623\u0639\u0644\u0649 \u0647\u0648 \u0645\u062f\u064a\u0631 \u0627\u0644\u0646\u0638\u0627\u0645 \u0628\u0623\u0643\u0645\u0 [...]
\ No newline at end of file
diff --git a/ar/assets/js/12178d65.2f2e9933.js b/ar/assets/js/12178d65.2f2e9933.js
new file mode 100644
index 00000000..4522ec97
--- /dev/null
+++ b/ar/assets/js/12178d65.2f2e9933.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[3189],{1450(a){a.exports=JSON.parse('{"metadata":{"permalink":"/ar/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":7,"blogDescription":"\u0645\u062f\u0648\u0646\u0629","blogTitle":"\u0645\u062f\u0648\u0646\u0629"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/12d1e935.41383e62.js b/ar/assets/js/12d1e935.41383e62.js
new file mode 100644
index 00000000..34da0be4
--- /dev/null
+++ b/ar/assets/js/12d1e935.41383e62.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5417],{5349(a){a.exports=JSON.parse('{"tag":{"label":"LLM","permalink":"/ar/blog/tags/llm","allTagsPath":"/ar/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/ar/blog/tags/llm","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/1443b71e.022417d0.js b/ar/assets/js/1443b71e.022417d0.js
new file mode 100644
index 00000000..d5a1cdf2
--- /dev/null
+++ b/ar/assets/js/1443b71e.022417d0.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1200],{272(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"pbac","title":"PBAC","description":"Policy-Based Access Control model in Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/PBAC.mdx","sourceDirName":".","slug":"/pbac","permalink":"/ar/docs/pbac","draft":false,"un [...]
\ No newline at end of file
diff --git a/ar/assets/js/14eb3368.ee36e5dc.js b/ar/assets/js/14eb3368.ee36e5dc.js
new file mode 100644
index 00000000..4c4a389b
--- /dev/null
+++ b/ar/assets/js/14eb3368.ee36e5dc.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6969],{477(e,s,n){n.r(s),n.d(s,{default:()=>M});n(6540);var t=n(5500),r=n(6972),a=n(6025),i=n(8215),l=n(8774),c=n(5846),o=n(6654),d=n(1312),u=n(1107);const m="cardContainer_fWXF",h="cardTitle_rnsV",b="cardDescription_PWke";var x=n(4848);function p({className:e,href:s,children:n}){return(0,x.jsx)(l.A,{href:s,className:(0,i.A)("card padding--lg",m,e),children:n})}function g({classNam [...]
\ No newline at end of file
diff --git a/ar/assets/js/17896441.1c55263e.js b/ar/assets/js/17896441.1c55263e.js
new file mode 100644
index 00000000..93f05612
--- /dev/null
+++ b/ar/assets/js/17896441.1c55263e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8401],{594(e,n,t){t.d(n,{A:()=>j});t(6540);var s=t(8215),a=t(7559),i=t(6972),r=t(9169),o=t(8774),l=t(1312),c=t(6025),d=t(4848);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 [...]
\ No newline at end of file
diff --git a/ar/assets/js/186863e3.7d21ff20.js b/ar/assets/js/186863e3.7d21ff20.js
new file mode 100644
index 00000000..077cd1aa
--- /dev/null
+++ b/ar/assets/js/186863e3.7d21ff20.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8675],{7942(e,a,t){t.r(a),t.d(a,{default:()=>d});var n=t(6540),i=t(9667),s=t(3955),c=t(5293),r=t(4586),l=t(4848);function o(){const{colorMode:e}=(0,c.G)(),{i18n:a}=(0,r.A)(),t=a.currentLocale,[i,o]=(0,n.useState)("");return(0,n.useEffect)(()=>{o(`https://editor.casbin.org/gallery?theme=${e}&lang=${t}`)},[e,t]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"editor-cont [...]
\ No newline at end of file
diff --git a/ar/assets/js/1999c6aa.4cdda1ef.js b/ar/assets/js/1999c6aa.4cdda1ef.js
new file mode 100644
index 00000000..8c231deb
--- /dev/null
+++ b/ar/assets/js/1999c6aa.4cdda1ef.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7362],{5769(e,n,i){i.d(n,{A:()=>s});const s=i.p+"assets/images/model-1c0c2441dd19f8b957744635985283eb.png"},6061(e){e.exports=JSON.parse('{"permalink":"/ar/blog/2021/08/19/apisix-casbin-authorization","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2021-08-19-apisix-casbin-authorization.md","source":"@site/i18n/ar/docusaurus [...]
\ No newline at end of file
diff --git a/ar/assets/js/1a4e3797.607f840a.js b/ar/assets/js/1a4e3797.607f840a.js
new file mode 100644
index 00000000..ad20a356
--- /dev/null
+++ b/ar/assets/js/1a4e3797.607f840a.js
@@ -0,0 +1 @@
+(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2138],{317(e){"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},849(e){"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]}},1383(e){"use strict";e.exports=function(e,t){if(null===e)return{};var r,i,n={},s=Object.keys(e);for(i=0;i<s.length;i++)r=s[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}},1673(e,t,r){"use strict";var i [...]
\ No newline at end of file
diff --git a/ar/assets/js/1e610ce4.f62527f1.js b/ar/assets/js/1e610ce4.f62527f1.js
new file mode 100644
index 00000000..55e1e7ed
--- /dev/null
+++ b/ar/assets/js/1e610ce4.f62527f1.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4714],{4453(e,t,s){s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"service","title":"Casbin Service","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Casbin \u0643\u062e\u062f\u0645\u0629","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/Service.mdx","sourceDirName":".","slug" [...]
\ No newline at end of file
diff --git a/ar/assets/js/1fa70168.09b9e673.js b/ar/assets/js/1fa70168.09b9e673.js
new file mode 100644
index 00000000..fd91aa15
--- /dev/null
+++ b/ar/assets/js/1fa70168.09b9e673.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8933],{441(a){a.exports=JSON.parse('{"tag":{"label":"roadmap","permalink":"/ar/blog/tags/roadmap","allTagsPath":"/ar/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/ar/blog/tags/roadmap","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/1fe10a36.9ffdc728.js b/ar/assets/js/1fe10a36.9ffdc728.js
new file mode 100644
index 00000000..e1dafe9c
--- /dev/null
+++ b/ar/assets/js/1fe10a36.9ffdc728.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[694],{3813(e,n,s){s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"mac-overview","title":"MAC Overview","description":"Mandatory Access Control (MAC) Overview","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/MACOverview.mdx","sourceDirName":".","slug":"/mac-overview","permalink":"/ar/d [...]
\ No newline at end of file
diff --git a/ar/assets/js/2140ee09.40e5e8ca.js b/ar/assets/js/2140ee09.40e5e8ca.js
new file mode 100644
index 00000000..ca745d73
--- /dev/null
+++ b/ar/assets/js/2140ee09.40e5e8ca.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5203],{2518(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"\u0627\u0644\u0625\u062f\u0627\u0631\u0629","slug":"/category/management","permalink":"/ar/docs/category/management","sidebar":"docs","navigation":{"previous":{"title":"Envoy (Service Mesh Authorization)","permalink":"/ar/docs/envoy"},"next":{"title":"Admin Portal","permalink":"/ar/docs/admin-portal"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/2143.631f9abc.js b/ar/assets/js/2143.631f9abc.js
new file mode 100644
index 00000000..e3524109
--- /dev/null
+++ b/ar/assets/js/2143.631f9abc.js
@@ -0,0 +1 @@
+(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2143],{2053(e,t,n){"use strict";n.d(t,{A:()=>l});n(6540);var s=n(8215),a=n(1312),r=n(6133);const o="tags_jXut",c="tag_QGVx";var i=n(4848);function l({tags:e}){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.A)(o,"padding--none","margin-left [...]
\ No newline at end of file
diff --git a/ar/assets/js/21f53e20.64136991.js b/ar/assets/js/21f53e20.64136991.js
new file mode 100644
index 00000000..f5848a62
--- /dev/null
+++ b/ar/assets/js/21f53e20.64136991.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8521],{6433(a){a.exports=JSON.parse('{"tag":{"label":"AI","permalink":"/ar/blog/tags/ai","allTagsPath":"/ar/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/ar/blog/tags/ai","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/2237.4c917a91.js b/ar/assets/js/2237.4c917a91.js
new file mode 100644
index 00000000..898b5996
--- /dev/null
+++ b/ar/assets/js/2237.4c917a91.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2237],{2237(e,t,i){i.r(t),i.d(t,{default:()=>h});i(6540);var n=i(1312),s=i(5500),o=i(9667),a=i(3363),r=i(4848);function h(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.be,{title:e}),(0,r.jsx)(o.A,{children:(0,r.jsx)(a.A,{})})]})}},3363(e,t,i){i.d(t,{A:()=>r});i(6540);var n=i(8215),s=i(1312),o=i(1107),a=i(4 [...]
\ No newline at end of file
diff --git a/ar/assets/js/23dfaf11.3078b4e3.js b/ar/assets/js/23dfaf11.3078b4e3.js
new file mode 100644
index 00000000..0d9a49c8
--- /dev/null
+++ b/ar/assets/js/23dfaf11.3078b4e3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6831],{7013(e,n,r){r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>g,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"log-error","title":"Logging & Error Handling","description":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0648\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0641\u064a Casbi [...]
\ No newline at end of file
diff --git a/ar/assets/js/2693.aae57f15.js b/ar/assets/js/2693.aae57f15.js
new file mode 100644
index 00000000..cf519a97
--- /dev/null
+++ b/ar/assets/js/2693.aae57f15.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2693.aae57f15.js.LICENSE.txt */
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2693],{2693(e,t,n){n.r(t),n.d(t,{DocSearchModal:()=>Ph});var r=n(6540);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t,n,r,u,a,i){try{var o=e[a](i),s=o.value}catch(e){return void n(e)}o.done?t(s):Promise.resolve(s).then(r,u)}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,u){va [...]
\ No newline at end of file
diff --git a/ar/assets/js/2693.aae57f15.js.LICENSE.txt b/ar/assets/js/2693.aae57f15.js.LICENSE.txt
new file mode 100644
index 00000000..775d3936
--- /dev/null
+++ b/ar/assets/js/2693.aae57f15.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
diff --git a/ar/assets/js/2868c295.bb0ea3d3.js b/ar/assets/js/2868c295.bb0ea3d3.js
new file mode 100644
index 00000000..3539ce41
--- /dev/null
+++ b/ar/assets/js/2868c295.bb0ea3d3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5322],{5247(e,s,l){l.r(s),l.d(s,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"rbac-api","title":"RBAC API","description":"\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0623\u0643\u062b\u0631 \u0648\u062f\u064a\u0629 \u0644\u0640 RBAC. \u0647\u0630\u0 [...]
\ No newline at end of file
diff --git a/ar/assets/js/28e50ba3.c616fd92.js b/ar/assets/js/28e50ba3.c616fd92.js
new file mode 100644
index 00000000..92b51604
--- /dev/null
+++ b/ar/assets/js/28e50ba3.c616fd92.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2229],{3491(e,c,s){s.r(c),s.d(c,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"function","title":"Functions","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u062f\u0648\u0627\u0644 \u0627\u0644\u0645\u062f\u0645\u062c\u0629 \u0623\u0648 \u062a\u062d\u062f\u064a\u062f \u062f\u0648\u0627\u0 [...]
\ No newline at end of file
diff --git a/ar/assets/js/290e0ee2.631bb0dc.js b/ar/assets/js/290e0ee2.631bb0dc.js
new file mode 100644
index 00000000..09daf439
--- /dev/null
+++ b/ar/assets/js/290e0ee2.631bb0dc.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6353],{923(t,e,i){i.d(e,{j:()=>n});const n=[{title:"[ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core)",description:"An open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends, via plugin: [Casbin.AspNetCore](https://github.com/casbin-net/Casbin.AspNetCore)",image:"/img/ecosys [...]
\ No newline at end of file
diff --git a/ar/assets/js/2ab4f9df.dc65e75e.js b/ar/assets/js/2ab4f9df.dc65e75e.js
new file mode 100644
index 00000000..4800b1b1
--- /dev/null
+++ b/ar/assets/js/2ab4f9df.dc65e75e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[903],{2281(e,t,r){r.r(t),r.d(t,{assets:()=>h,contentTitle:()=>n,default:()=>a,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"adopters","title":"Adopters","description":"Casbin\'s Adopters","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/Adopters.mdx","sourceDirName":".","slug":"/adopters","permalink":"/ar/docs/adopters","draft":false,"unliste [...]
\ No newline at end of file
diff --git a/ar/assets/js/2acd5a91.133dade0.js b/ar/assets/js/2acd5a91.133dade0.js
new file mode 100644
index 00000000..7bdb4d0a
--- /dev/null
+++ b/ar/assets/js/2acd5a91.133dade0.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4961],{4065(e,t,r){r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>h});const i=JSON.parse('{"id":"cloud-native","title":"Cloud Native","description":"Cloud native authorization middlewares","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/CloudNative.mdx","sourceDirName":".","slug":"/cloud-native","permalink":"/ar/d [...]
\ No newline at end of file
diff --git a/ar/assets/js/2b557ca0.52b9a7f5.js b/ar/assets/js/2b557ca0.52b9a7f5.js
new file mode 100644
index 00000000..098fe045
--- /dev/null
+++ b/ar/assets/js/2b557ca0.52b9a7f5.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1392],{6746(i,n,e){e.r(n),e.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"ide-plugins","title":"IDE Plugins","description":"\u0625\u0636\u0627\u0641\u0627\u062a Casbin IDE","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/IDEPlugins.mdx","sourceDirName":".","slug":"/ide-plugins","permalink":" [...]
\ No newline at end of file
diff --git a/ar/assets/js/2bf795a4.9feeecaa.js b/ar/assets/js/2bf795a4.9feeecaa.js
new file mode 100644
index 00000000..d91ed667
--- /dev/null
+++ b/ar/assets/js/2bf795a4.9feeecaa.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7891],{5974(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Access Control Models","slug":"/category/access-control-models","permalink":"/ar/docs/category/access-control-models","sidebar":"docs","navigation":{"previous":{"title":"Tutorials","permalink":"/ar/docs/tutorials"},"next":{"title":"Supported Models","permalink":"/ar/docs/supported-models"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/2ca6fd75.a0282605.js b/ar/assets/js/2ca6fd75.a0282605.js
new file mode 100644
index 00000000..a631c20c
--- /dev/null
+++ b/ar/assets/js/2ca6fd75.a0282605.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9621],{1692(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"envoy","title":"Envoy (Service Mesh Authorization)","description":"\u062a\u0641\u0648\u064a\u0636 \u062e\u062f\u0645\u0629 \u0634\u0628\u0643\u0629 \u0627\u0644\u062e\u062f\u0645\u0629 \u0645\u0646 \u062e\u0644\u0627\u0644 Envoy","so [...]
\ No newline at end of file
diff --git a/ar/assets/js/2f87f3db.8634d0c1.js b/ar/assets/js/2f87f3db.8634d0c1.js
new file mode 100644
index 00000000..f07ce18b
--- /dev/null
+++ b/ar/assets/js/2f87f3db.8634d0c1.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9331],{5633(e,n,s){s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>t,toc:()=>l});var t=s(8244),a=s(4848),r=s(8453);const i={title:"\u062a\u0645 \u0625\u0637\u0644\u0627\u0642 \u062e\u0627\u062f\u0645 Casbin!",authors:["BetaCat0"]},c=void 0,o={authorsImageUrls:[void 0]},l=[];function u(e){const n={a:"a",li:"li",p:"p",strong:"strong",ul:"ul" [...]
\ No newline at end of file
diff --git a/ar/assets/js/3347.442b4917.js b/ar/assets/js/3347.442b4917.js
new file mode 100644
index 00000000..f9ba60f4
--- /dev/null
+++ b/ar/assets/js/3347.442b4917.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[3347],{991(e,t,n){n.d(t,{E:()=>Oe});var r=n(6540),i=n(961);function o(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function a(e){return e instanceof o(e).Element||e instanceof Element}function s(e){return e instanceof o(e).HTMLElement||e instanceof HTMLElement}function c(e){return"undefined"!=typeof [...]
\ No newline at end of file
diff --git a/ar/assets/js/3362e121.70333acb.js b/ar/assets/js/3362e121.70333acb.js
new file mode 100644
index 00000000..0552cbe8
--- /dev/null
+++ b/ar/assets/js/3362e121.70333acb.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8788],{61(t,e,i){i.d(e,{Y:()=>a});const a=[{title:"[Hashicorp Raft Dispatcher](https://github.com/casbin/hraft-dispatcher)",type:"Raft",author:"Casbin",description:"A dispatcher based on [Hashicorp Raft](https://github.com/hashicorp/raft)",image:"/img/ecosystem/hashicorp.png"},{title:"[KDKYG/casbin-dispatcher](https://github.com/KDKYG/casbin-dispatcher)",type:"Raft",author:"[@KDKYG [...]
\ No newline at end of file
diff --git a/ar/assets/js/350832d7.c83c60cd.js b/ar/assets/js/350832d7.c83c60cd.js
new file mode 100644
index 00000000..7828923d
--- /dev/null
+++ b/ar/assets/js/350832d7.c83c60cd.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[195],{2990(a){a.exports=JSON.parse('{"tag":{"label":"MCP","permalink":"/ar/blog/tags/mcp","allTagsPath":"/ar/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/ar/blog/tags/mcp","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/354802ad.c4440963.js b/ar/assets/js/354802ad.c4440963.js
new file mode 100644
index 00000000..c4c3e814
--- /dev/null
+++ b/ar/assets/js/354802ad.c4440963.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9570],{4974(e,n,a){a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"kong-authz","title":"Kong Authorization","description":"Authorization for Kong API Gateway using Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/KongAuthz.mdx","sourceDirName":".","slug":"/kong-authz","permalin [...]
\ No newline at end of file
diff --git a/ar/assets/js/36994c47.a0416590.js b/ar/assets/js/36994c47.a0416590.js
new file mode 100644
index 00000000..f3c9986b
--- /dev/null
+++ b/ar/assets/js/36994c47.a0416590.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9858],{5516(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/39048107.a87bb632.js b/ar/assets/js/39048107.a87bb632.js
new file mode 100644
index 00000000..177b5369
--- /dev/null
+++ b/ar/assets/js/39048107.a87bb632.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1225],{1179(e){e.exports=JSON.parse('{"permalink":"/ar/blog/2018/08/27/node-casbin","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-08-27-node-casbin.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2018-08-27-node-casbin.md","title":"node-Casbin: New Member of the Casbin Family","description":"We have ported [...]
\ No newline at end of file
diff --git a/ar/assets/js/3955.118925ae.js b/ar/assets/js/3955.118925ae.js
new file mode 100644
index 00000000..8d56cb9d
--- /dev/null
+++ b/ar/assets/js/3955.118925ae.js
@@ -0,0 +1,25 @@
+/*! For license information please see 3955.118925ae.js.LICENSE.txt */
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[3955],{3892(t,e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const s=globalThis,i=s.ShadowRoot&&(void 0===s.ShadyCSS||s.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),n=new WeakMap;let o=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==r)throw Error("CSSResult is not constructable. Use `unsafeCS [...]
+ <iframe
+ title="Comments"
+ scrolling="no"
+ class="loading"
+ ${St(this._iframeRef)}
+ src=${this.getIframeSrc()}
+ loading=${this.loading}
+ allow="clipboard-write"
+ part="iframe"
+ ></iframe>
+ `}},e.GiscusWidget.styles=((t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1],t[0]);return new o(s,t,r)})`
+ :host,
+ iframe {
+ width: 100%;
+ border: none;
+ min-height: 150px;
+ color-scheme: light dark;
+ }
+
+ iframe.loading {
+ opacity: 0;
+ }
+ `,wt([ct({reflect:!0})],e.GiscusWidget.prototype,"host",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"repo",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"repoId",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"category",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"categoryId",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"mapping",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"term",2),wt([ct({reflect:!0})],e.GiscusWidget.prototype,"strict",2),wt([ct({reflect [...]
\ No newline at end of file
diff --git a/ar/assets/js/3955.118925ae.js.LICENSE.txt b/ar/assets/js/3955.118925ae.js.LICENSE.txt
new file mode 100644
index 00000000..419a0614
--- /dev/null
+++ b/ar/assets/js/3955.118925ae.js.LICENSE.txt
@@ -0,0 +1,17 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @license
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
diff --git a/ar/assets/js/40112638.aadef49d.js b/ar/assets/js/40112638.aadef49d.js
new file mode 100644
index 00000000..3bc7cfdf
--- /dev/null
+++ b/ar/assets/js/40112638.aadef49d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8660],{6631(e,i,r){r.r(i),r.d(i,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"priority-model","title":"Priority Model","description":"\u0646\u0645\u0648\u0630\u062c \u0623\u0648\u0644\u0648\u064a\u0629 Casbin \u0644\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0630\u0627\u06 [...]
\ No newline at end of file
diff --git a/ar/assets/js/416.ffc71866.js b/ar/assets/js/416.ffc71866.js
new file mode 100644
index 00000000..f897faf9
--- /dev/null
+++ b/ar/assets/js/416.ffc71866.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[416],{8035(s,b,e){e.r(b)}}]);
\ No newline at end of file
diff --git a/ar/assets/js/479e8d90.593d14b2.js b/ar/assets/js/479e8d90.593d14b2.js
new file mode 100644
index 00000000..b279dd58
--- /dev/null
+++ b/ar/assets/js/479e8d90.593d14b2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1961],{61(e,t,n){n.d(t,{Y:()=>r});const r=[{title:"[Hashicorp Raft Dispatcher](https://github.com/casbin/hraft-dispatcher)",type:"Raft",author:"Casbin",description:"A dispatcher based on [Hashicorp Raft](https://github.com/hashicorp/raft)",image:"/img/ecosystem/hashicorp.png"},{title:"[KDKYG/casbin-dispatcher](https://github.com/KDKYG/casbin-dispatcher)",type:"Raft",author:"[@KDKYG [...]
\ No newline at end of file
diff --git a/ar/assets/js/48dd827f.c67e9f7c.js b/ar/assets/js/48dd827f.c67e9f7c.js
new file mode 100644
index 00000000..49a4b3a4
--- /dev/null
+++ b/ar/assets/js/48dd827f.c67e9f7c.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6130],{1967(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>h,default:()=>x,frontMatter:()=>d,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"admin-portal","title":"Admin Portal","description":"\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u0644\u0640 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/AdminPortal.mdx","sourc [...]
\ No newline at end of file
diff --git a/ar/assets/js/497ae69d.cfc39873.js b/ar/assets/js/497ae69d.cfc39873.js
new file mode 100644
index 00000000..88e7e65c
--- /dev/null
+++ b/ar/assets/js/497ae69d.cfc39873.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[960],{6565(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>h});var i=n(7846),a=n(4848),o=n(8453);const s={title:"Casbin in 2025: Authorization for the AI Agent Era",slug:"casbin-2025-ai-agent-era",authors:["hsluoyz"],tags:["casbin","roadmap","AI","MCP","edge-computing","LLM"]},r=void 0,l={authorsImageUrls:[void 0]},h=[{val [...]
\ No newline at end of file
diff --git a/ar/assets/js/49a071da.c13bc004.js b/ar/assets/js/49a071da.c13bc004.js
new file mode 100644
index 00000000..baaa8f42
--- /dev/null
+++ b/ar/assets/js/49a071da.c13bc004.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9380],{6887(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var a=n(7846),o=n(4848),i=n(8453);const s={title:"Casbin in 2025: Authorization for the AI Agent Era",slug:"casbin-2025-ai-agent-era",authors:["hsluoyz"],tags:["casbin","roadmap","AI","MCP","edge-computing","LLM"]},r=void 0,l={authorsImageUrls:[void 0]},c=[];f [...]
\ No newline at end of file
diff --git a/ar/assets/js/4e01ccb1.c0d77871.js b/ar/assets/js/4e01ccb1.c0d77871.js
new file mode 100644
index 00000000..45cac8f8
--- /dev/null
+++ b/ar/assets/js/4e01ccb1.c0d77871.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2386],{761(e,t,a){a.d(t,{g:()=>i});const i=[{title:"[File Adapter (built-in)](/docs/adapters#file-adapter-built-in)",type:"File",author:"Casbin",autoSave:"\u274c",description:"For [.CSV (Comma-Separated Values)](https://en.wikipedia.org/wiki/Comma-separated_values) files",image:"/img/ecosystem/file.png"},{title:"[EF Adapter](https://github.com/casbin-net/EF-Adapter)",type:"ORM",aut [...]
\ No newline at end of file
diff --git a/ar/assets/js/505efd8b.111cf865.js b/ar/assets/js/505efd8b.111cf865.js
new file mode 100644
index 00000000..9c85ebe3
--- /dev/null
+++ b/ar/assets/js/505efd8b.111cf865.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[966],{2249(e){e.exports=JSON.parse('{"permalink":"/ar/blog/2018/09/23/new-website","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-09-23-new-website.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2018-09-23-new-website.md","title":"Reworking Our Documentation","description":"We have moved Casbin\u2019s docum [...]
\ No newline at end of file
diff --git a/ar/assets/js/59bd9601.da6d0a08.js b/ar/assets/js/59bd9601.da6d0a08.js
new file mode 100644
index 00000000..df2f4d7f
--- /dev/null
+++ b/ar/assets/js/59bd9601.da6d0a08.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5619],{7418(e){e.exports=JSON.parse('{"permalink":"/ar/blog/2020/04/21/google-award","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2020-04-21-google-award.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2020-04-21-google-award.md","title":"Yang Luo \u2014 Google Open Source Peer Bonus Winner","description":"We a [...]
\ No newline at end of file
diff --git a/ar/assets/js/5bbc4dc6.72de1fdd.js b/ar/assets/js/5bbc4dc6.72de1fdd.js
new file mode 100644
index 00000000..1249cfe4
--- /dev/null
+++ b/ar/assets/js/5bbc4dc6.72de1fdd.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8716],{7045(n){n.exports=JSON.parse('{"permalink":"/ar/blog/2023/12/08/understanding-casbin-matching-in-detail","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2023-12-08-understanding-casbin-matching-in-detail.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2023-12-08-understanding-casbin-matching-in-detail.md"," [...]
\ No newline at end of file
diff --git a/ar/assets/js/5be040cd.a902631e.js b/ar/assets/js/5be040cd.a902631e.js
new file mode 100644
index 00000000..8c0d165b
--- /dev/null
+++ b/ar/assets/js/5be040cd.a902631e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9624],{4002(e,s,n){n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"rebac","title":"ReBAC","description":"ReBAC based on Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/ReBAC.mdx","sourceDirName":".","slug":"/rebac","permalink":"/ar/docs/rebac","draft":false,"unlisted":false,"e [...]
\ No newline at end of file
diff --git a/ar/assets/js/5e69bbd7.d70cf3b7.js b/ar/assets/js/5e69bbd7.d70cf3b7.js
new file mode 100644
index 00000000..31cdd512
--- /dev/null
+++ b/ar/assets/js/5e69bbd7.d70cf3b7.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8981],{752(e,i,n){n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"terms-of-service","title":"Terms of Service","description":"\u0634\u0631\u0648\u0637 \u062e\u062f\u0645\u0629 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/TermsOfService.mdx","sourceDirName":".","slug":"/term [...]
\ No newline at end of file
diff --git a/ar/assets/js/5e95c892.4d39f66c.js b/ar/assets/js/5e95c892.4d39f66c.js
new file mode 100644
index 00000000..176d78e7
--- /dev/null
+++ b/ar/assets/js/5e95c892.4d39f66c.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9647],{7121(e,s,a){a.r(s),a.d(s,{default:()=>b});a(6540);var r=a(8215),c=a(7559),i=a(5500),n=a(2831),t=a(9667),u=a(4848);function b(e){return(0,u.jsx)(i.e3,{className:(0,r.A)(c.G.wrapper.docsPages),children:(0,u.jsx)(t.A,{children:(0,n.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/ar/assets/js/5f876298.17c975b3.js b/ar/assets/js/5f876298.17c975b3.js
new file mode 100644
index 00000000..af8298a1
--- /dev/null
+++ b/ar/assets/js/5f876298.17c975b3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5050],{647(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"abac","title":"ABAC","description":"ABAC \u0627\u0644\u0645\u0628\u0646\u064a \u0639\u0644\u0649 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/ABAC.mdx","sourceDirName":".","slug":"/abac","permalink":"/ar/docs [...]
\ No newline at end of file
diff --git a/ar/assets/js/60e3e668.8a377405.js b/ar/assets/js/60e3e668.8a377405.js
new file mode 100644
index 00000000..48ec542d
--- /dev/null
+++ b/ar/assets/js/60e3e668.8a377405.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5054],{8434(e,s,i){i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>n,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"supported-models","title":"Supported Models","description":"\u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629 \u0645\u0646 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/curre [...]
\ No newline at end of file
diff --git a/ar/assets/js/61dd0dd4.3300b1ae.js b/ar/assets/js/61dd0dd4.3300b1ae.js
new file mode 100644
index 00000000..de09f97f
--- /dev/null
+++ b/ar/assets/js/61dd0dd4.3300b1ae.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5324],{6825(e,s,i){i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"data-permissions","title":"Data Permissions","description":"\u062d\u0644\u0648\u0644 \u0644\u0623\u0630\u0648\u0646\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a","source":"@site/i18n/ar/docusaurus-plugin-content-docs/ [...]
\ No newline at end of file
diff --git a/ar/assets/js/621db11d.e8bb016f.js b/ar/assets/js/621db11d.e8bb016f.js
new file mode 100644
index 00000000..f92f3686
--- /dev/null
+++ b/ar/assets/js/621db11d.e8bb016f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4212],{3250(t,s,e){e.r(s),e.d(s,{default:()=>b});e(6540);var a=e(8215),o=e(5500),r=e(7559),u=e(6461),l=e(8027),n=e(1463),i=e(1107),c=e(9907);const h={authorListItem:"authorListItem_n3yI"};var g=e(4848);function p({author:t}){return(0,g.jsx)("li",{className:h.authorListItem,children:(0,g.jsx)(c.A,{as:"h2",author:t,count:t.count})})}function d({authors:t}){return(0,g.jsx)("section",{ [...]
\ No newline at end of file
diff --git a/ar/assets/js/63988cf1.9a83b25e.js b/ar/assets/js/63988cf1.9a83b25e.js
new file mode 100644
index 00000000..228bc1d5
--- /dev/null
+++ b/ar/assets/js/63988cf1.9a83b25e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2861],{3583(t,n,e){e.r(n),e.d(n,{assets:()=>u,contentTitle:()=>r,default:()=>l,frontMatter:()=>o,metadata:()=>i,toc:()=>h});var i=e(6061),a=e(4848),s=e(8453);const o={title:"Authorization in APISIX Using Casbin",authors:["rushitote"]},r=void 0,u={authorsImageUrls:[void 0]},h=[{value:"\u0645\u0642\u062f\u0645\u0629",id:"\u0645\u0642\u062f\u0645\u0629",level:2}];function c(t){const n [...]
\ No newline at end of file
diff --git a/ar/assets/js/6475c62e.a271c7a3.js b/ar/assets/js/6475c62e.a271c7a3.js
new file mode 100644
index 00000000..f0d9b9d2
--- /dev/null
+++ b/ar/assets/js/6475c62e.a271c7a3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8273],{858(n,e,i){i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ucon","title":"Usage Control (UCON)","description":"Usage Control Model in Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/UCON.mdx","sourceDirName":".","slug":"/ucon","permalink":"/ar/docs/ucon","draft":false," [...]
\ No newline at end of file
diff --git a/ar/assets/js/6875c492.1b5dc22a.js b/ar/assets/js/6875c492.1b5dc22a.js
new file mode 100644
index 00000000..255e07bf
--- /dev/null
+++ b/ar/assets/js/6875c492.1b5dc22a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4813],{1511(e,t,a){a.d(t,{A:()=>i});a(6540);var n=a(4096),s=a(2907),r=a(4848);function i({items:e,component:t=s.A}){return(0,r.jsx)(r.Fragment,{children:e.map(({content:e})=>(0,r.jsx)(n.in,{content:e,children:(0,r.jsx)(t,{children:(0,r.jsx)(e,{})})},e.metadata.permalink))})}},2234(e,t,a){a.d(t,{A:()=>c});a(6540);var n=a(8215),s=a(7559),r=a(4084),i=a(7293),l=a(4848);function o({clas [...]
\ No newline at end of file
diff --git a/ar/assets/js/695a4e15.fd4f7ca1.js b/ar/assets/js/695a4e15.fd4f7ca1.js
new file mode 100644
index 00000000..ec8297d2
--- /dev/null
+++ b/ar/assets/js/695a4e15.fd4f7ca1.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5625],{7125(n,e,i){i.r(e),i.d(e,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"rbac-with-domains","title":"RBAC with Domains","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 RBAC \u0645\u0639 \u0627\u0644\u0646\u0637\u0627\u0642\u0627\u062a","source":"@site/i18n/ar/docusaurus-plugin-content-docs/curre [...]
\ No newline at end of file
diff --git a/ar/assets/js/69fa1a4e.1a4a9c9d.js b/ar/assets/js/69fa1a4e.1a4a9c9d.js
new file mode 100644
index 00000000..ad3ffc72
--- /dev/null
+++ b/ar/assets/js/69fa1a4e.1a4a9c9d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2536],{2599(e,n,r){r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>g,frontMatter:()=>a,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"orbac","title":"OrBAC","description":"Organisation-Based Access Control model in Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/OrBAC.mdx","sourceDirName":".","slug":"/orbac","permalink":"/ar/docs/orbac","draf [...]
\ No newline at end of file
diff --git a/ar/assets/js/6b5fcc6a.2e282ef3.js b/ar/assets/js/6b5fcc6a.2e282ef3.js
new file mode 100644
index 00000000..f8faf9c3
--- /dev/null
+++ b/ar/assets/js/6b5fcc6a.2e282ef3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5495],{6491(e,t,s){s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>c});const d=JSON.parse('{"id":"policy-storage","title":"Policy Storage","description":"\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/PolicyStorage.mdx","sourceDirName [...]
\ No newline at end of file
diff --git a/ar/assets/js/6dd37c77.9428cbd3.js b/ar/assets/js/6dd37c77.9428cbd3.js
new file mode 100644
index 00000000..22f90418
--- /dev/null
+++ b/ar/assets/js/6dd37c77.9428cbd3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6202],{2300(s){s.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Use Cases","slug":"/category/use-cases","permalink":"/ar/docs/category/use-cases","sidebar":"docs","navigation":{"previous":{"title":"Loading Policy Subsets","permalink":"/ar/docs/policy-subset-loading"},"next":{"title":"Data Permissions","permalink":"/ar/docs/data-permissions"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/7290af4c.7d8e5d62.js b/ar/assets/js/7290af4c.7d8e5d62.js
new file mode 100644
index 00000000..348e6b92
--- /dev/null
+++ b/ar/assets/js/7290af4c.7d8e5d62.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2925],{194(e,n,r){r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"rbac","title":"RBAC","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 RBAC \u0641\u064a Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/RBAC.mdx","sourceDirName":".","slug":"/rbac","permalink":"/ar/docs [...]
\ No newline at end of file
diff --git a/ar/assets/js/7924d3b1.4faf4189.js b/ar/assets/js/7924d3b1.4faf4189.js
new file mode 100644
index 00000000..c7cfad7f
--- /dev/null
+++ b/ar/assets/js/7924d3b1.4faf4189.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[97],{5625(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a","slug":"/category/api","permalink":"/ar/docs/category/api","sidebar":"docs","navigation":{"previous":{"title":"Cloud Native","permalink":"/ar/docs/cloud-native"},"next":{"title":"API Overview","p [...]
\ No newline at end of file
diff --git a/ar/assets/js/7a586373.2589cf20.js b/ar/assets/js/7a586373.2589cf20.js
new file mode 100644
index 00000000..37909f4f
--- /dev/null
+++ b/ar/assets/js/7a586373.2589cf20.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1887],{3054(e,s,n){n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"rbac-96","title":"RBAC vs. RBAC96","description":"\u0627\u0644\u0641\u0631\u0642 \u0628\u064a\u0646 Casbin RBAC \u0648 RBAC96","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/CasbinRBACAndRBAC96.mdx","sourceDirName":". [...]
\ No newline at end of file
diff --git a/ar/assets/js/7b9b5656.aa1cfdec.js b/ar/assets/js/7b9b5656.aa1cfdec.js
new file mode 100644
index 00000000..37314c0b
--- /dev/null
+++ b/ar/assets/js/7b9b5656.aa1cfdec.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[65],{804(e,i,n){n.d(i,{A:()=>t});const t=n.p+"assets/images/editor-upload-512eb21fc92e9137e9cf4630d9689d92.png"},1038(e,i,n){n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"online-editor","title":"Online Editor","description":"\u0643\u062a\u0627\u0628\u0629 \u0646\u0645\u0648\u0630\u062c \u0648\u063 [...]
\ No newline at end of file
diff --git a/ar/assets/js/7e37206e.68dee4e3.js b/ar/assets/js/7e37206e.68dee4e3.js
new file mode 100644
index 00000000..f95c0080
--- /dev/null
+++ b/ar/assets/js/7e37206e.68dee4e3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9152],{3197(s,e,i){i.r(e),i.d(e,{default:()=>l});i(6540);var r=i(9667),c=i(1312),n=i(4848);const l=function(){return(0,n.jsxs)(r.A,{title:"Help",description:"Help Page",styles:{padding:"19px"},children:[(0,n.jsxs)("div",{className:"container text--center",children:[(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsx)("h1",{children:(0,n.jsx)(c.A,{children:"Need help?"})}),(0,n.jsx)(c.A, [...]
\ No newline at end of file
diff --git a/ar/assets/js/814f3328.3aab7f53.js b/ar/assets/js/814f3328.3aab7f53.js
new file mode 100644
index 00000000..af48a908
--- /dev/null
+++ b/ar/assets/js/814f3328.3aab7f53.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7472],{5513(e){e.exports=JSON.parse('{"title":"\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0627\u062a \u0627\u0644\u0623\u062e\u064a\u0631\u0629","items":[{"title":"Casbin in 2025: Authorization for the AI Agent Era","permalink":"/ar/blog/casbin-2025-ai-agent-era","unlisted":false,"date":"2025-12-11T00:00:00.000Z"},{"title":"Understanding How Casbin Matching Works in Detail","perma [...]
\ No newline at end of file
diff --git a/ar/assets/js/835f64a8.e4b885ca.js b/ar/assets/js/835f64a8.e4b885ca.js
new file mode 100644
index 00000000..4f7f302b
--- /dev/null
+++ b/ar/assets/js/835f64a8.e4b885ca.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[260],{5541(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"\u0627\u0644\u062a\u062e\u0632\u064a\u0646","slug":"/category/storage","permalink":"/ar/docs/category/storage","sidebar":"docs","navigation":{"previous":{"title":"Super Administrator","permalink":"/ar/docs/superadmin"},"next":{"title":"Model Storage","permalink":"/ar/docs/model-storage"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/84a207a9.5aafac1a.js b/ar/assets/js/84a207a9.5aafac1a.js
new file mode 100644
index 00000000..e3effa27
--- /dev/null
+++ b/ar/assets/js/84a207a9.5aafac1a.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8115],{6944(e,s,r){r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>j,frontMatter:()=>i,metadata:()=>d,toc:()=>h});const d=JSON.parse('{"id":"benchmark","title":"Benchmarks","description":"\u0627\u0644\u062a\u0643\u0644\u0641\u0629 \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u0629 \u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0641\u [...]
\ No newline at end of file
diff --git a/ar/assets/js/84ff14aa.440a79e4.js b/ar/assets/js/84ff14aa.440a79e4.js
new file mode 100644
index 00000000..2919b5cb
--- /dev/null
+++ b/ar/assets/js/84ff14aa.440a79e4.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9990],{587(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>u});var o=t(7418),a=t(4848),r=t(8453);const s={title:"Yang Luo \u2014 Google Open Source Peer Bonus Winner",authors:["casbin"]},i=void 0,c={authorsImageUrls:[void 0]},u=[];function l(e){const n={a:"a",p:"p",...(0,r.R)(),...e.components};return(0,a.jsxs)(n.p,{childr [...]
\ No newline at end of file
diff --git a/ar/assets/js/8551d23f.f5d225e6.js b/ar/assets/js/8551d23f.f5d225e6.js
new file mode 100644
index 00000000..c5094d74
--- /dev/null
+++ b/ar/assets/js/8551d23f.f5d225e6.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[125],{2559(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"syntax-for-models","title":"Model Syntax","description":"\u0628\u0646\u0627\u0621 \u0627\u0644\u062c\u0645\u0644\u0629 \u0644\u0644\u0646\u0645\u0627\u0630\u062c","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/SyntaxFo [...]
\ No newline at end of file
diff --git a/ar/assets/js/8913.dcb61d6c.js b/ar/assets/js/8913.dcb61d6c.js
new file mode 100644
index 00000000..864a730b
--- /dev/null
+++ b/ar/assets/js/8913.dcb61d6c.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8913],{8913(s,b,e){e.r(b)}}]);
\ No newline at end of file
diff --git a/ar/assets/js/8b10390d.ee9a43a6.js b/ar/assets/js/8b10390d.ee9a43a6.js
new file mode 100644
index 00000000..920a9932
--- /dev/null
+++ b/ar/assets/js/8b10390d.ee9a43a6.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8058],{1753(e,l,n){n.r(l),n.d(l,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"blp","title":"BLP","description":"Bell-LaPadula model in Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/BLP.mdx","sourceDirName":".","slug":"/blp","permalink":"/ar/docs/blp","draft":false,"unlisted":false,"edi [...]
\ No newline at end of file
diff --git a/ar/assets/js/8c3c7392.d0df9e34.js b/ar/assets/js/8c3c7392.d0df9e34.js
new file mode 100644
index 00000000..d39b71f0
--- /dev/null
+++ b/ar/assets/js/8c3c7392.d0df9e34.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6501],{2241(e,t,n){n.d(t,{s:()=>r});const r=[{title:"[Default Role Manager (built-in)](https://github.com/casbin/pycasbin/blob/master/casbin/rbac/default_role_manager/role_manager.py)",author:"Casbin",description:"Supports role hierarchy stored in the Casbin policy"}].map(e=>({...e,tags:["Python","RoleManager"]}))},2925(e,t,n){n.d(t,{e:()=>r});const r=[{title:"[Default Role Manager [...]
\ No newline at end of file
diff --git a/ar/assets/js/8ca654c9.ff3458a2.js b/ar/assets/js/8ca654c9.ff3458a2.js
new file mode 100644
index 00000000..c66c483b
--- /dev/null
+++ b/ar/assets/js/8ca654c9.ff3458a2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[954],{2193(e,s,n){n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"rbac-overview","title":"RBAC Overview","description":"Role-Based Access Control (RBAC) Overview","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/RBACOverview.mdx","sourceDirName":".","slug":"/rbac-overview","permalink": [...]
\ No newline at end of file
diff --git a/ar/assets/js/9046baaf.d12e6548.js b/ar/assets/js/9046baaf.d12e6548.js
new file mode 100644
index 00000000..f8de7ceb
--- /dev/null
+++ b/ar/assets/js/9046baaf.d12e6548.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9416],{62(e,t,n){n.d(t,{A:()=>s});const s=n.p+"assets/images/cpp-56b38b73abf68f92c17de2d420951248.png"},578(e,t,n){n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>c,metadata:()=>s,toc:()=>x});const s=JSON.parse('{"id":"overview","title":"Overview","description":"\u0646\u0638\u0631\u0629 \u0639\u0627\u0645\u0629 \u0639\u0644\u0649 Casbin","source":"@site/ [...]
\ No newline at end of file
diff --git a/ar/assets/js/91064ad5.c26cff8b.js b/ar/assets/js/91064ad5.c26cff8b.js
new file mode 100644
index 00000000..02660b70
--- /dev/null
+++ b/ar/assets/js/91064ad5.c26cff8b.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9271],{5711(e,i,n){n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"privacy-policy","title":"Privacy Policy","description":"\u0633\u064a\u0627\u0633\u0629 \u062e\u0635\u0648\u0635\u064a\u0629 \u0645\u0648\u0642\u0639 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/PrivacyPolicy [...]
\ No newline at end of file
diff --git a/ar/assets/js/9785.a386bbff.js b/ar/assets/js/9785.a386bbff.js
new file mode 100644
index 00000000..a05d4cc9
--- /dev/null
+++ b/ar/assets/js/9785.a386bbff.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9785],{4096(e,t,s){s.d(t,{in:()=>c,OU:()=>A,Ki:()=>k,kJ:()=>x,x:()=>l,e7:()=>h,J_:()=>p,Gx:()=>C});var a=s(6540),n=s(9532),i=s(6803),r=s(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=a.createContext(null);funct [...]
\ No newline at end of file
diff --git a/ar/assets/js/98fb14a9.7bf2adff.js b/ar/assets/js/98fb14a9.7bf2adff.js
new file mode 100644
index 00000000..b6c2eded
--- /dev/null
+++ b/ar/assets/js/98fb14a9.7bf2adff.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[281],{7553(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Editors & Tools","slug":"/category/editors--tools","permalink":"/ar/docs/category/editors--tools","sidebar":"docs","navigation":{"previous":{"title":"Frontend Integration","permalink":"/ar/docs/frontend"},"next":{"title":"Online Editor","permalink":"/ar/docs/online-editor"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/9c039ed4.e89d5bff.js b/ar/assets/js/9c039ed4.e89d5bff.js
new file mode 100644
index 00000000..00088379
--- /dev/null
+++ b/ar/assets/js/9c039ed4.e89d5bff.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1874],{7355(t){t.exports=JSON.parse('{"authors":[{"name":"Yang Luo","title":"Creator of Casbin","url":"https://github.com/hsluoyz","imageURL":"https://avatars.githubusercontent.com/hsluoyz","key":"hsluoyz","page":null,"count":2},{"name":"Helong Zhang","title":"Casbin Maintainer","url":"https://github.com/BetaCat0","imageURL":"https://avatars.githubusercontent.com/BetaCat0","key":"B [...]
\ No newline at end of file
diff --git a/ar/assets/js/9c2aad74.c7aded98.js b/ar/assets/js/9c2aad74.c7aded98.js
new file mode 100644
index 00000000..235e96b7
--- /dev/null
+++ b/ar/assets/js/9c2aad74.c7aded98.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6558],{3036(e,r,n){n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>c,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"enforcers","title":"Enforcers","description":"\u0627\u0644\u0645\u064f\u0646\u0641\u0650\u0651\u0630 \u0647\u0648 \u0627\u0644\u0647\u064a\u0643\u0644 \u0627\u0644\u0631\u0626\u064a\u0633\u064a \u0641\u064a Casbin \u0627\u0644\u0630\ [...]
\ No newline at end of file
diff --git a/ar/assets/js/9cc1418b.789b7c8d.js b/ar/assets/js/9cc1418b.789b7c8d.js
new file mode 100644
index 00000000..efe5e62d
--- /dev/null
+++ b/ar/assets/js/9cc1418b.789b7c8d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1852],{3765(a){a.exports=JSON.parse('{"tag":{"label":"casbin","permalink":"/ar/blog/tags/casbin","allTagsPath":"/ar/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/ar/blog/tags/casbin","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/9e4087bc.9269875d.js b/ar/assets/js/9e4087bc.9269875d.js
new file mode 100644
index 00000000..ef50156b
--- /dev/null
+++ b/ar/assets/js/9e4087bc.9269875d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2711],{6266(e,a,r){r.d(a,{i:()=>s});var t=r(4586);function s(e={}){const{i18n:{currentLocale:a}}=(0,t.A)(),r=function(){const{i18n:{currentLocale:e,localeConfigs:a}}=(0,t.A)();return a[e].calendar}();return new Intl.DateTimeFormat(a,{calendar:r,...e})}},9331(e,a,r){r.r(a),r.d(a,{default:()=>m});r(6540);var t=r(8774),s=r(1312),n=r(5500),i=r(6266),c=r(9667),l=r(1107),o=r(4848);functi [...]
\ No newline at end of file
diff --git a/ar/assets/js/a509876c.34d90b3e.js b/ar/assets/js/a509876c.34d90b3e.js
new file mode 100644
index 00000000..98760502
--- /dev/null
+++ b/ar/assets/js/a509876c.34d90b3e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5754],{6446(e,t,n){n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"multi-threading","title":"Multithreading","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Casbin \u0641\u064a \u0628\u064a\u0626\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u062e\u064a\u0648\u0637","source":"@si [...]
\ No newline at end of file
diff --git a/ar/assets/js/a6aa9e1f.165a5b46.js b/ar/assets/js/a6aa9e1f.165a5b46.js
new file mode 100644
index 00000000..714fea90
--- /dev/null
+++ b/ar/assets/js/a6aa9e1f.165a5b46.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7643],{1511(e,t,a){a.d(t,{A:()=>i});a(6540);var s=a(4096),n=a(2907),r=a(4848);function i({items:e,component:t=n.A}){return(0,r.jsx)(r.Fragment,{children:e.map(({content:e})=>(0,r.jsx)(s.in,{content:e,children:(0,r.jsx)(t,{children:(0,r.jsx)(e,{})})},e.metadata.permalink))})}},2907(e,t,a){a.d(t,{A:()=>E});a(6540);var s=a(8215),n=a(4096),r=a(4848);function i({children:e,className:t}) [...]
\ No newline at end of file
diff --git a/ar/assets/js/a7456010.4ce1f9e1.js b/ar/assets/js/a7456010.4ce1f9e1.js
new file mode 100644
index 00000000..1d972333
--- /dev/null
+++ b/ar/assets/js/a7456010.4ce1f9e1.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1235],{8552(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/a7bd4aaa.fea2f11b.js b/ar/assets/js/a7bd4aaa.fea2f11b.js
new file mode 100644
index 00000000..c6ffff42
--- /dev/null
+++ b/ar/assets/js/a7bd4aaa.fea2f11b.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7098],{4532(n,e,s){s.r(e),s.d(e,{default:()=>x});s(6540);var r=s(5500),i=s(3025),o=s(2565),t=s(2831),c=s(1463),a=s(4848);function l(n){const{version:e}=n;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{version:e.version,tag:(0,o.k)(e.pluginId,e.version)}),(0,a.jsx)(r.be,{children:e.noIndex&&(0,a.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function u(n){const [...]
\ No newline at end of file
diff --git a/ar/assets/js/a90f2cf1.9e9cf6ac.js b/ar/assets/js/a90f2cf1.9e9cf6ac.js
new file mode 100644
index 00000000..9954064f
--- /dev/null
+++ b/ar/assets/js/a90f2cf1.9e9cf6ac.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8193],{1373(e,a,n){n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"get-started","title":"Get Started","description":"\u0627\u0644\u0628\u062f\u0621 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/GetStarted.mdx","sourceDirName": [...]
\ No newline at end of file
diff --git a/ar/assets/js/a94703ab.c810baba.js b/ar/assets/js/a94703ab.c810baba.js
new file mode 100644
index 00000000..d623c9c0
--- /dev/null
+++ b/ar/assets/js/a94703ab.c810baba.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9048],{3363(e,t,n){n.d(t,{A:()=>l});n(6540);var a=n(8215),i=n(1312),s=n(1107),o=n(4848);function l({className:e}){return(0,o.jsx)("main",{className:(0,a.A)("container margin-vert--xl",e),children:(0,o.jsx)("div",{className:"row",children:(0,o.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,o.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,o.jsx)(i.A,{id:"theme. [...]
\ No newline at end of file
diff --git a/ar/assets/js/aa959189.c78f7fc2.js b/ar/assets/js/aa959189.c78f7fc2.js
new file mode 100644
index 00000000..0d659f0b
--- /dev/null
+++ b/ar/assets/js/aa959189.c78f7fc2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5604],{1105(e,t,r){r.d(t,{$:()=>i});const i=[{title:"[Etcd Watcher](https://github.com/officialpycasbin/etcd-watcher)",type:"KV store",author:"Casbin",description:"Watcher for [etcd](https://github.com/coreos/etcd)",image:"/img/ecosystem/etcd.png"},{title:"[Redis Watcher](https://github.com/officialpycasbin/redis-watcher)",type:"KV store",author:"Casbin",description:"Watcher for [R [...]
\ No newline at end of file
diff --git a/ar/assets/js/ab865c86.0b14b4ef.js b/ar/assets/js/ab865c86.0b14b4ef.js
new file mode 100644
index 00000000..330d7f10
--- /dev/null
+++ b/ar/assets/js/ab865c86.0b14b4ef.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9810],{6641(e,n,o){o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"model-storage","title":"Model Storage","description":"\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0646\u0645\u0648\u0630\u062c","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/ModelStorage.mdx","sourceDirName":".","sl [...]
\ No newline at end of file
diff --git a/ar/assets/js/aba21aa0.8989bbd3.js b/ar/assets/js/aba21aa0.8989bbd3.js
new file mode 100644
index 00000000..9e7191c2
--- /dev/null
+++ b/ar/assets/js/aba21aa0.8989bbd3.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5742],{7093(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/acecf23e.b68ebf57.js b/ar/assets/js/acecf23e.b68ebf57.js
new file mode 100644
index 00000000..1b169f6d
--- /dev/null
+++ b/ar/assets/js/acecf23e.b68ebf57.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[1903],{1912(s){s.exports=JSON.parse('{"blogBasePath":"/ar/blog","blogTitle":"Blog","authorsListPath":"/ar/blog/authors"}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/af8caec0.eb4224ff.js b/ar/assets/js/af8caec0.eb4224ff.js
new file mode 100644
index 00000000..53931bf6
--- /dev/null
+++ b/ar/assets/js/af8caec0.eb4224ff.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7678],{2600(e,r,t){t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>n,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"graphql-middlewares","title":"GraphQL Middleware","description":"\u0627\u0644\u062a\u0641\u0648\u064a\u0636 \u0644\u0646\u0642\u0627\u0637 \u0646\u0647\u0627\u064a\u0629 GraphQL","source":"@site/i18n/ar/docusaurus-plugin-content-docs [...]
\ No newline at end of file
diff --git a/ar/assets/js/af913d4d.b93183a2.js b/ar/assets/js/af913d4d.b93183a2.js
new file mode 100644
index 00000000..23b22ddd
--- /dev/null
+++ b/ar/assets/js/af913d4d.b93183a2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7633],{4759(e,t,i){i.r(t),i.d(t,{default:()=>d});var n=i(6540),a=i(9667),s=i(3955),c=i(5293),r=i(4586),o=i(4848);function l(){const{colorMode:e}=(0,c.G)(),{i18n:t}=(0,r.A)(),i=t.currentLocale,[a,l]=(0,n.useState)("");return(0,n.useEffect)(()=>{l(`https://editor.casbin.org/?theme=${e}&lang=${i}`)},[e,i]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"editor-container", [...]
\ No newline at end of file
diff --git a/ar/assets/js/afaedef6.ef9f11bd.js b/ar/assets/js/afaedef6.ef9f11bd.js
new file mode 100644
index 00000000..418b48a6
--- /dev/null
+++ b/ar/assets/js/afaedef6.ef9f11bd.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7345],{5399(a){a.exports=JSON.parse('{"tag":{"label":"edge-computing","permalink":"/ar/blog/tags/edge-computing","allTagsPath":"/ar/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/ar/blog/tags/edge-computing","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/b3f932d8.4408026f.js b/ar/assets/js/b3f932d8.4408026f.js
new file mode 100644
index 00000000..eb62dfb2
--- /dev/null
+++ b/ar/assets/js/b3f932d8.4408026f.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4330],{8453(e,n,s){s.d(n,{R:()=>l,x:()=>c});var i=s(6540);const r={},t=i.createContext(r);function l(e){const n=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(t.Provider,{value:n},e.child [...]
\ No newline at end of file
diff --git a/ar/assets/js/b7a339a4.8e3651cc.js b/ar/assets/js/b7a339a4.8e3651cc.js
new file mode 100644
index 00000000..5e131188
--- /dev/null
+++ b/ar/assets/js/b7a339a4.8e3651cc.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7521],{655(e,n,s){s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"how-it-works","title":"How It Works","description":"\u0643\u064a\u0641 \u064a\u0639\u0645\u0644 Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/HowItWorks.mdx","sourceDirName":".","slug":"/how-it-works","permali [...]
\ No newline at end of file
diff --git a/ar/assets/js/bb4d6a1b.17f1b996.js b/ar/assets/js/bb4d6a1b.17f1b996.js
new file mode 100644
index 00000000..0516f936
--- /dev/null
+++ b/ar/assets/js/bb4d6a1b.17f1b996.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8609],{6084(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Basics","slug":"/category/basics","permalink":"/ar/docs/category/basics","sidebar":"docs","navigation":{"next":{"title":"Overview","permalink":"/ar/docs/overview"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/c141421f.266bc054.js b/ar/assets/js/c141421f.266bc054.js
new file mode 100644
index 00000000..d3a212a2
--- /dev/null
+++ b/ar/assets/js/c141421f.266bc054.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[957],{936(e){e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/c4f5d8e4.d849bf54.js b/ar/assets/js/c4f5d8e4.d849bf54.js
new file mode 100644
index 00000000..ac007385
--- /dev/null
+++ b/ar/assets/js/c4f5d8e4.d849bf54.js
@@ -0,0 +1,2 @@
+/*! For license information please see c4f5d8e4.d849bf54.js.LICENSE.txt */
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2634],{358(e,n,t){t.r(n),t.d(n,{default:()=>oe});var s=t(6540),i=t(53),a=t(9667),r=t(8774);const o={heroBanner:"heroBanner_qdFl",heroVideo:"heroVideo_l9rg",heroOverlay:"heroOverlay_ZhSg",heroContent:"heroContent_mKPX",hero__title:"hero__title_sobY",actionButtons:"actionButtons_MFbq",getStartedBtn:"getStartedBtn_NZ39",tryEditorBtn:"tryEditorBtn_WvuM","border-gradient-shift":"border- [...]
\ No newline at end of file
diff --git a/ar/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt b/ar/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt
new file mode 100644
index 00000000..815cd1ba
--- /dev/null
+++ b/ar/assets/js/c4f5d8e4.d849bf54.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/**
+ * @license lucide-react v0.562.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */
diff --git a/ar/assets/js/c85e74ad.b64127ea.js b/ar/assets/js/c85e74ad.b64127ea.js
new file mode 100644
index 00000000..f8fbc35f
--- /dev/null
+++ b/ar/assets/js/c85e74ad.b64127ea.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2766],{26(e,n,s){s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"rbac-with-domains-api","title":"RBAC with Domains API","description":"\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0623\u0643\u062b\u0631 \u0633\u0647\u0648\u0644\u0629 \u06 [...]
\ No newline at end of file
diff --git a/ar/assets/js/c96268f7.8ec7b888.js b/ar/assets/js/c96268f7.8ec7b888.js
new file mode 100644
index 00000000..edc323de
--- /dev/null
+++ b/ar/assets/js/c96268f7.8ec7b888.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8232],{4495(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"k8s-gatekeeper","title":"Kubernetes Admission Webhook","description":"\u0648\u0633\u064a\u0637 \u062a\u0641\u0648\u064a\u0636 Kubernetes (K8s) RBAC & ABAC \u0627\u0644\u0645\u0628\u0646\u064a \u0639\u0644\u0649 Casbin","source":"@sit [...]
\ No newline at end of file
diff --git a/ar/assets/js/c9f3b573.d7a5ed29.js b/ar/assets/js/c9f3b573.d7a5ed29.js
new file mode 100644
index 00000000..91d462b2
--- /dev/null
+++ b/ar/assets/js/c9f3b573.d7a5ed29.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2083],{8453(e,s,n){n.d(s,{R:()=>l,x:()=>d});var i=n(6540);const t={},r=i.createContext(t);function l(e){const s=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(r.Provider,{value:s},e.child [...]
\ No newline at end of file
diff --git a/ar/assets/js/ccc49370.dab9e754.js b/ar/assets/js/ccc49370.dab9e754.js
new file mode 100644
index 00000000..8cf337a9
--- /dev/null
+++ b/ar/assets/js/ccc49370.dab9e754.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[3249],{416(e,t,n){n.r(t),n.d(t,{default:()=>N});n(6540);var a=n(8215),s=n(5500),r=n(7559),i=n(4096),o=n(8027),l=n(2907),c=n(1312),d=n(9022),g=n(4848);function u(e){const{nextItem:t,prevItem:n}=e;return(0,g.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The AR [...]
\ No newline at end of file
diff --git a/ar/assets/js/d06643f5.980e0f38.js b/ar/assets/js/d06643f5.980e0f38.js
new file mode 100644
index 00000000..5f1c591d
--- /dev/null
+++ b/ar/assets/js/d06643f5.980e0f38.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7675],{2249(e){e.exports=JSON.parse('{"permalink":"/ar/blog/2018/09/23/new-website","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-09-23-new-website.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2018-09-23-new-website.md","title":"Reworking Our Documentation","description":"We have moved Casbin\u2019s docu [...]
\ No newline at end of file
diff --git a/ar/assets/js/d3e88014.7abbf07e.js b/ar/assets/js/d3e88014.7abbf07e.js
new file mode 100644
index 00000000..8495dac0
--- /dev/null
+++ b/ar/assets/js/d3e88014.7abbf07e.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8376],{2911(e,n,i){i.d(n,{A:()=>r});const r=i.p+"assets/images/subscription-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png"},3392(e,n,i){i.d(n,{A:()=>r});const r=i.p+"assets/images/hrbac-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png"},3626(e,n,i){i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var r=i(7045),s=i(4848),t=i(8453);c [...]
\ No newline at end of file
diff --git a/ar/assets/js/d6fd7605.2319dde6.js b/ar/assets/js/d6fd7605.2319dde6.js
new file mode 100644
index 00000000..7837049a
--- /dev/null
+++ b/ar/assets/js/d6fd7605.2319dde6.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7285],{8453(e,n,s){s.d(n,{R:()=>a,x:()=>o});var i=s(6540);const t={},r=i.createContext(t);function a(e){const n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:n},e.child [...]
\ No newline at end of file
diff --git a/ar/assets/js/d9f55b2f.590504e2.js b/ar/assets/js/d9f55b2f.590504e2.js
new file mode 100644
index 00000000..9cf78d25
--- /dev/null
+++ b/ar/assets/js/d9f55b2f.590504e2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9404],{8781(e){e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"casbin-2025-ai-agent-era","metadata":{"permalink":"/ar/blog/casbin-2025-ai-agent-era","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2025-12-11-casbin-2025-ai-agent-era.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2025-12-11-casbin-2025-ai-ag [...]
\ No newline at end of file
diff --git a/ar/assets/js/dbb4e127.90169bcf.js b/ar/assets/js/dbb4e127.90169bcf.js
new file mode 100644
index 00000000..65f5c7b8
--- /dev/null
+++ b/ar/assets/js/dbb4e127.90169bcf.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7076],{7595(e,n,t){t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"rbac-with-pattern","title":"RBAC with Pattern","description":"RBAC \u0645\u0639 \u0627\u0644\u0646\u0645\u0637","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/RBACWithPattern.mdx","sourceDirName":".","slug":"/rbac-wit [...]
\ No newline at end of file
diff --git a/ar/assets/js/dc31f97a.005890a6.js b/ar/assets/js/dc31f97a.005890a6.js
new file mode 100644
index 00000000..2363516d
--- /dev/null
+++ b/ar/assets/js/dc31f97a.005890a6.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[131],{420(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"About & More","slug":"/category/about--more","permalink":"/ar/docs/category/about--more","sidebar":"docs","navigation":{"previous":{"title":"IDE Plugins","permalink":"/ar/docs/ide-plugins"},"next":{"title":"Adopters","permalink":"/ar/docs/adopters"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/dc45fa50.ff9c85b7.js b/ar/assets/js/dc45fa50.ff9c85b7.js
new file mode 100644
index 00000000..81a7a09a
--- /dev/null
+++ b/ar/assets/js/dc45fa50.ff9c85b7.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9229],{3223(e,n,a){a.r(n),a.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>s});const i=JSON.parse('{"id":"rbac-with-conditions","title":"RBAC with Conditions","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 RBAC \u0645\u0639 \u0627\u0644\u0634\u0631\u0648\u0637","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/RBA [...]
\ No newline at end of file
diff --git a/ar/assets/js/dcc8fbe7.85d78c97.js b/ar/assets/js/dcc8fbe7.85d78c97.js
new file mode 100644
index 00000000..b589d952
--- /dev/null
+++ b/ar/assets/js/dcc8fbe7.85d78c97.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2169],{5427(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var a=n(8244),s=n(4848),r=n(8453);const i={title:"\u062a\u0645 \u0625\u0637\u0644\u0627\u0642 \u062e\u0627\u062f\u0645 Casbin!",authors:["BetaCat0"]},o=void 0,c={authorsImageUrls:[void 0]},u=[];function l(e){const t={a:"a",p:"p",strong:"strong",...(0,r.R)(),.. [...]
\ No newline at end of file
diff --git a/ar/assets/js/df5d8e92.68b42da2.js b/ar/assets/js/df5d8e92.68b42da2.js
new file mode 100644
index 00000000..017a8bf0
--- /dev/null
+++ b/ar/assets/js/df5d8e92.68b42da2.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4582],{6170(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>f,frontMatter:()=>r,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"lbac","title":"LBAC","description":"Lattice-Based Access Control model in Casbin","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/LBAC.mdx","sourceDirName":".","slug":"/lbac","permalink":"/ar/docs/lbac","draft":false," [...]
\ No newline at end of file
diff --git a/ar/assets/js/e3273b2d.091895f0.js b/ar/assets/js/e3273b2d.091895f0.js
new file mode 100644
index 00000000..9667c375
--- /dev/null
+++ b/ar/assets/js/e3273b2d.091895f0.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2319],{7855(e,r,n){n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api-overview","title":"API Overview","description":"\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a Casbin","source":"@site/i18n/ar/d [...]
\ No newline at end of file
diff --git a/ar/assets/js/e3ffa3f8.83fdaaec.js b/ar/assets/js/e3ffa3f8.83fdaaec.js
new file mode 100644
index 00000000..0d90d4e0
--- /dev/null
+++ b/ar/assets/js/e3ffa3f8.83fdaaec.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6301],{6847(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"\u0627\u0644\u062a\u0627\u0644\u064a","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"category","label":"Basics","items":[{"type":"link","href":"/ar/docs/overview","label":"Overview","docId":"overview","unli [...]
\ No newline at end of file
diff --git a/ar/assets/js/e6ea4abd.6095ad94.js b/ar/assets/js/e6ea4abd.6095ad94.js
new file mode 100644
index 00000000..0ed8c3e4
--- /dev/null
+++ b/ar/assets/js/e6ea4abd.6095ad94.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9159],{8929(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Advanced Usage","slug":"/category/advanced-usage","permalink":"/ar/docs/category/advanced-usage","sidebar":"docs","navigation":{"previous":{"title":"Role Manager API","permalink":"/ar/docs/rolemanager-api"},"next":{"title":"Multithreading","permalink":"/ar/docs/multi-threading"}}}}')}}]);
\ No newline at end of file
diff --git a/ar/assets/js/e74a79a5.95553122.js b/ar/assets/js/e74a79a5.95553122.js
new file mode 100644
index 00000000..96578edd
--- /dev/null
+++ b/ar/assets/js/e74a79a5.95553122.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6664],{1330(e,n,i){i.d(n,{w:()=>a});i(6540);const t=JSON.parse('[{"caption":"Intel RMD","image":"users/intel.png","infolink":"https://github.com/intel/rmd","pinned":true},{"caption":"Vmware Harbor","image":"users/vmware.png","infolink":"https://github.com/goharbor/harbor","pinned":true},{"caption":"Docker","image":"users/docker.png","infolink":"https://docs.docker.com/engine/extend [...]
\ No newline at end of file
diff --git a/ar/assets/js/e83ea4ff.44af472d.js b/ar/assets/js/e83ea4ff.44af472d.js
new file mode 100644
index 00000000..ec862b75
--- /dev/null
+++ b/ar/assets/js/e83ea4ff.44af472d.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[6563],{6724(e,n,i){i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>t});const l=JSON.parse('{"id":"command-line-tools","title":"Command-line Tools","description":"Command-line Tools","source":"@site/i18n/ar/docusaurus-plugin-content-docs/current/CommandLineTools.mdx","sourceDirName":".","slug":"/command-line-tools","permalink":"/a [...]
\ No newline at end of file
diff --git a/ar/assets/js/ee69341d.51e48510.js b/ar/assets/js/ee69341d.51e48510.js
new file mode 100644
index 00000000..e7881586
--- /dev/null
+++ b/ar/assets/js/ee69341d.51e48510.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[7924],{1070(e,n,a){a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"rolemanager-api","title":"Role Manager API","description":"\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a RoleManager \u062a\u0648\u0641\u0631 \u0648\u0627\u062c\u0647\u0629 \ [...]
\ No newline at end of file
diff --git a/ar/assets/js/f06a0bae.8b5ce312.js b/ar/assets/js/f06a0bae.8b5ce312.js
new file mode 100644
index 00000000..c5602440
--- /dev/null
+++ b/ar/assets/js/f06a0bae.8b5ce312.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[5618],{6863(e,i,t){t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"policy-subset-loading","title":"Loading Policy Subsets","description":"\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0645\u0635\u0641\u0627\u0629","source":"@site/i18n/ar/docusaurus-plu [...]
\ No newline at end of file
diff --git a/ar/assets/js/f158f49d.65af6810.js b/ar/assets/js/f158f49d.65af6810.js
new file mode 100644
index 00000000..fe9f96cc
--- /dev/null
+++ b/ar/assets/js/f158f49d.65af6810.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[9350],{62(e,s,n){n.d(s,{A:()=>i});const i=n.p+"assets/images/cpp-56b38b73abf68f92c17de2d420951248.png"},1323(e,s,n){n.d(s,{A:()=>i});const i=n.p+"assets/images/golang-bb03eb73d50185d94e628cc517857215.png"},1336(e,s,n){n.d(s,{A:()=>i});const i=n.p+"assets/images/nodejs-6ddbd197a96684461fe7e1e19f946aab.png"},2137(e,s,n){n.d(s,{A:()=>i});const i=n.p+"assets/images/java-1a1bba41af766a3 [...]
\ No newline at end of file
diff --git a/ar/assets/js/f1cea540.23be7f81.js b/ar/assets/js/f1cea540.23be7f81.js
new file mode 100644
index 00000000..36379061
--- /dev/null
+++ b/ar/assets/js/f1cea540.23be7f81.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[4534],{4627(a){a.exports=JSON.parse('{"tags":[{"label":"casbin","permalink":"/ar/blog/tags/casbin","count":1},{"label":"roadmap","permalink":"/ar/blog/tags/roadmap","count":1},{"label":"AI","permalink":"/ar/blog/tags/ai","count":1},{"label":"MCP","permalink":"/ar/blog/tags/mcp","count":1},{"label":"edge-computing","permalink":"/ar/blog/tags/edge-computing","count":1},{"label":"LLM" [...]
\ No newline at end of file
diff --git a/ar/assets/js/f92bcd01.8113ac87.js b/ar/assets/js/f92bcd01.8113ac87.js
new file mode 100644
index 00000000..7a2104bc
--- /dev/null
+++ b/ar/assets/js/f92bcd01.8113ac87.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[2240],{1179(e){e.exports=JSON.parse('{"permalink":"/ar/blog/2018/08/27/node-casbin","editUrl":"https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-08-27-node-casbin.md","source":"@site/i18n/ar/docusaurus-plugin-content-blog/2018-08-27-node-casbin.md","title":"node-Casbin: New Member of the Casbin Family","description":"We have ported [...]
\ No newline at end of file
diff --git a/ar/assets/js/fd9d9c89.20c03845.js b/ar/assets/js/fd9d9c89.20c03845.js
new file mode 100644
index 00000000..059abb3c
--- /dev/null
+++ b/ar/assets/js/fd9d9c89.20c03845.js
@@ -0,0 +1 @@
+"use strict";(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8e3],{3648(e,i,s){s.r(i),s.d(i,{default:()=>a});s(6540);var t=s(4848);const a=function(){return(0,t.jsx)("iframe",{src:"https://editor.casbin.org/",style:{width:"100%",height:"100vh",display:"block"},title:"Casbin-editor",allowFullScreen:!0})}}}]);
\ No newline at end of file
diff --git a/ar/assets/js/main.13d7b016.js b/ar/assets/js/main.13d7b016.js
new file mode 100644
index 00000000..eafda557
--- /dev/null
+++ b/ar/assets/js/main.13d7b016.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.13d7b016.js.LICENSE.txt */
+(globalThis.webpackChunkcasbin_website_v2=globalThis.webpackChunkcasbin_website_v2||[]).push([[8792],{53(e,t,n){"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}n.d(t,{A:()=>a});const a=function(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a} [...]
\ No newline at end of file
diff --git a/ar/assets/js/main.13d7b016.js.LICENSE.txt b/ar/assets/js/main.13d7b016.js.LICENSE.txt
new file mode 100644
index 00000000..647fcb45
--- /dev/null
+++ b/ar/assets/js/main.13d7b016.js.LICENSE.txt
@@ -0,0 +1,51 @@
+/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
+ * @license MIT */
+
+/**
+ * @license React
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * react-jsx-runtime.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/ar/assets/js/runtime~main.de043676.js b/ar/assets/js/runtime~main.de043676.js
new file mode 100644
index 00000000..030fe998
--- /dev/null
+++ b/ar/assets/js/runtime~main.de043676.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,f,d,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,d,c)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){for(var[f,d,c]=e[i],t=!0,o=0;o<f.length;o++)(!1&c||b>=c)&&Object.keys(r.O).every(e=>r.O[e](f[o]))?f.splice(o--,1):(t=!1,c<b&&(b=c));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1 [...]
\ No newline at end of file
diff --git a/ar/blog/2018/08/07/launching-casbin-server/index.html b/ar/blog/2018/08/07/launching-casbin-server/index.html
new file mode 100644
index 00000000..f67be3df
--- /dev/null
+++ b/ar/blog/2018/08/07/launching-casbin-server/index.html
@@ -0,0 +1,97 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">تم إطلاق خادم Casbin! | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/2018/08/07/launching-casbin-server"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property="og:locale: [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+<p><strong>Casbin Server</strong> is under active development by the core team. Current features:</p>
+<ul>
+<li class="">Written in Go.</li>
+<li class="">Manages many Casbin instances so you can centralize policy enforcement from multiple services.</li>
+<li class=""><strong>gRPC</strong> for all client communication; <strong>REST</strong> support is planned.</li>
+<li class="">A web admin UI for managing instances, models, policy storage, and load balancing.</li>
+</ul>
+<p>Source code: <a href="https://github.com/casbin/casbin-server" target="_blank" rel="noopener noreferrer" class="">https://github.com/casbin/casbin-server</a></p>
+<p>Issues and pull requests are welcome.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-08-07-launching-casbin-server.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/2018/08/27/node-casbin/index.html b/ar/blog/2018/08/27/node-casbin/index.html
new file mode 100644
index 00000000..a0a63158
--- /dev/null
+++ b/ar/blog/2018/08/27/node-casbin/index.html
@@ -0,0 +1,91 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">node-Casbin: New Member of the Casbin Family | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/2018/08/27/node-casbin"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property= [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+<p><strong>node-Casbin</strong> keeps the same usage and API as other Casbin implementations. Middlewares for Express, Koa2, and Egg.js are available, and a Sequelize storage adapter is included.</p>
+<p>We hope it fits your stack. Feedback and contributions are welcome.</p>
+<p>GitHub: <a href="https://github.com/casbin/node-casbin" target="_blank" rel="noopener noreferrer" class="">https://github.com/casbin/node-casbin</a></p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-08-27-node-casbin.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><s [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/2018/09/23/new-website/index.html b/ar/blog/2018/09/23/new-website/index.html
new file mode 100644
index 00000000..1f39a8a9
--- /dev/null
+++ b/ar/blog/2018/09/23/new-website/index.html
@@ -0,0 +1,90 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">Reworking Our Documentation | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/2018/09/23/new-website"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property="og:locale:altern [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+<p>The docs are still being improved. The site source is on GitHub: <a href="https://github.com/casbin/casbin-website-v2" target="_blank" rel="noopener noreferrer" class="">https://github.com/casbin/casbin-website-v2</a></p>
+<p>Contributions and suggestions are welcome.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2018-09-23-new-website.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true" [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/2020/04/21/google-award/index.html b/ar/blog/2020/04/21/google-award/index.html
new file mode 100644
index 00000000..c34ba6d9
--- /dev/null
+++ b/ar/blog/2020/04/21/google-award/index.html
@@ -0,0 +1,99 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">Yang Luo — Google Open Source Peer Bonus Winner | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/2020/04/21/google-award"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" prope [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+<p><img decoding="async" loading="lazy" src="https://hsluoyz.github.io/download/Open%20Source%20Peer%20Bonus%20Q3%202019%20-%20Yang%20Luo%20-%20OSPB%20Award%20Letter.png" alt="ospb" class="img_ev3q"></p>
+<blockquote>
+<p>The full award letter is available <a href="https://github.com/hsluoyz/hsluoyz.github.io/blob/master/download/Open%20Source%20Peer%20Bonus%20Q3%202019%20-%20Yang%20Luo%20-%20OSPB%20Award%20Letter.pdf" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
+</blockquote>
+<p>Google describes the program as:</p>
+<blockquote>
+<p><em>Just as a Google Peer Bonus recognizes a fellow Googler who has gone above and beyond, an Open Source Peer Bonus recognizes external contributors who have made exceptional contributions to open source.</em></p>
+</blockquote>
+<p>The <a href="https://opensource.googleblog.com/2020/01/announcing-2019-second-cycle-google.html" target="_blank" rel="noopener noreferrer" class="">2019 winners announcement</a> lists Yang and Casbin alongside other impactful projects and developers, including Git, TensorFlow, V8, CPython, LLVM, Apache projects, Angular, and Jenkins.</p>
+<p>We are proud to see Casbin recognized for its work in open source and cloud security.</p>
+<p><em>شكرًا لاستخدامكم كاسبين!</em></p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2020-04-21-google-award.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><pat [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/2021/08/19/apisix-casbin-authorization/index.html b/ar/blog/2021/08/19/apisix-casbin-authorization/index.html
new file mode 100644
index 00000000..18ed3a76
--- /dev/null
+++ b/ar/blog/2021/08/19/apisix-casbin-authorization/index.html
@@ -0,0 +1,124 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">Authorization in APISIX Using Casbin | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/2021/08/19/apisix-casbin-authorization"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" p [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+<p><a href="https://apisix.apache.org/" target="_blank" rel="noopener noreferrer" class="">APISIX</a> is a high-performance, scalable, cloud-native API gateway built on Nginx and etcd, and an Apache Software Foundation project. It ships with many plugins for authentication, monitoring, routing, and more. Plugins are hot-reloaded without restarts, so you can change behavior on the fly.</p>
+<p>When you need <strong>authorization</strong> beyond simple checks, the <strong>authz-casbin</strong> plugin can help. It is an APISIX plugin built on <a href="https://github.com/casbin/lua-casbin/" target="_blank" rel="noopener noreferrer" class="">Lua Casbin</a> that enforces flexible authorization using models such as ACL, RBAC, and ABAC. <a class="" href="/ar/">Casbin</a> is an authorization library (originally in Go, now ported to many languages); Lua Casbin is the Lua port. We pr [...]
+<p>This post shows how to implement <strong>Role-Based Access Control (RBAC)</strong> in APISIX using authz-casbin.</p>
+<p><strong>Note:</strong> Casbin handles <strong>authorization</strong> only. Use another plugin or your own logic for <strong>authentication</strong> (identifying the user).</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="إنشاء-نموذج">إنشاء نموذج<a href="#إنشاء-نموذج" class="hash-link" aria-label="رابط مباشر إلى إنشاء نموذج" title="رابط مباشر إلى إنشاء نموذج" translate="no"></a></h2>
+<p>The plugin authorizes each request using three parameters: <strong>subject</strong>, <strong>object</strong>, and <strong>action</strong>. The subject comes from a header (e.g. <code>username: alice</code>), the object is the URL path, and the action is the HTTP method.</p>
+<p>Suppose we have three paths: <code>/</code>, <code>/res1</code>, and <code>/res2</code>. We want a model like this:</p>
+<p><img decoding="async" loading="lazy" alt="صورة" src="/ar/assets/images/model-1c0c2441dd19f8b957744635985283eb.png" width="4520" height="1720" class="img_ev3q"></p>
+<p>So: any user (e.g. <code>jack</code>) can access <code>/</code>; users with the <code>admin</code> role (e.g. <code>alice</code>, <code>bob</code>) can access everything; and non-admin users are limited to <code>GET</code>. Here is a model that does that:</p>
+<div class="language-ini codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ini codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token section punctuation" style="color:#393A34">[</span><span class="token section section-name selector" [...]
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="إنشاء-سياسة">إنشاء سياسة<a href="#إنشاء-سياسة" class="hash-link" aria-label="رابط مباشر إلى إنشاء سياسة" title="رابط مباشر إلى إنشاء سياسة" translate="no"></a></h2>
+<p>For the scenario above, the policy could be:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">p</span><span class="token punctuation" style="color:#393A34">,</span><span class="token valu [...]
+<p>The matcher means:</p>
+<ol>
+<li class=""><strong><code>(g(r.sub, p.sub) || keyMatch(r.sub, p.sub))</code></strong> — The request subject either has the policy subject as a role or matches it via <code>keyMatch</code>. For <code>keyMatch</code> and other built-ins, see <a href="https://github.com/casbin/lua-casbin/blob/master/src/util/BuiltInFunctions.lua" target="_blank" rel="noopener noreferrer" class="">Lua Casbin BuiltInFunctions</a>.</li>
+<li class=""><strong><code>keyMatch(r.obj, p.obj)</code></strong> — The request path matches the policy object.</li>
+<li class=""><strong><code>keyMatch(r.act, p.act)</code></strong> — The request method matches the policy action.</li>
+</ol>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="enabling-the-plugin-on-a-route">Enabling the plugin on a route<a href="#enabling-the-plugin-on-a-route" class="hash-link" aria-label="رابط مباشر إلى Enabling the plugin on a route" title="رابط مباشر إلى Enabling the plugin on a route" translate="no"></a></h2>
+<p>After creating the model and policy, enable the plugin on a route via the APISIX Admin API. Using <strong>file paths</strong>:</p>
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b6 [...]
+<p>The <code>username</code> field is the <strong>header name</strong> that carries the subject (e.g. if the header is <code>user: alice</code>, set <code>"username": "user"</code>).</p>
+<p>To use <strong>inline</strong> model and policy text instead of files, use the <code>model</code> and <code>policy</code> fields:</p>
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b6 [...]
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="using-a-global-model-and-policy">Using a global model and policy<a href="#using-a-global-model-and-policy" class="hash-link" aria-label="رابط مباشر إلى Using a global model and policy" title="رابط مباشر إلى Using a global model and policy" translate="no"></a></h2>
+<p>To use one model and policy for <strong>all</strong> routes, store them in the plugin’s metadata. Send a <code>PUT</code> request:</p>
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/authz-casbin -H 'X-API-KEY: edd1c9 [...]
+<p>Then enable the plugin on a route (it will use the metadata). Example:</p>
+<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b6 [...]
+<p>The route then uses the shared model and policy from metadata. To change them, send another <code>PUT</code> to the plugin metadata; all routes using it will pick up the update.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="use-cases">Use cases<a href="#use-cases" class="hash-link" aria-label="رابط مباشر إلى Use cases" title="رابط مبا شر إلى Use cases" translate="no"></a></h2>
+<ul>
+<li class=""><strong>Per-route authorization</strong> — Attach the plugin to any route with your model and policy. Good when different routes need different permissions or when policies are large (each route only loads what it needs).</li>
+<li class=""><strong>Global model/policy</strong> — Store one model and policy in plugin metadata and reference it from many routes. Updating policy in one place (e.g. etcd) updates all those routes.</li>
+</ul></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2021-08-19-apisix-casbin-authorization.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3 [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/2023/12/08/understanding-casbin-matching-in-detail/index.html b/ar/blog/2023/12/08/understanding-casbin-matching-in-detail/index.html
new file mode 100644
index 00000000..79357181
--- /dev/null
+++ b/ar/blog/2023/12/08/understanding-casbin-matching-in-detail/index.html
@@ -0,0 +1,169 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="blog-wrapper blog-post-page plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">Understanding How Casbin Matching Works in Detail | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="e [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="introduction-to-rbac">Introduction to RBAC<a href="#introduction-to-rbac" class="hash-link" aria-label="رابط مباشر إلى Introduction to RBAC" title="رابط مباشر إلى Introduction to RBAC" translate="no"></a></h2>
+<p>RBAC restricts access based on the roles users hold. To see how <strong>hierarchical</strong> RBAC works, we look at Azure’s RBAC and then implement something similar in Casbin.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="azures-hierarchical-rbac">Azure’s hierarchical RBAC<a href="#azures-hierarchical-rbac" class="hash-link" aria-label="رابط مباشر إلى Azure’s hierarchical RBAC" title="رابط مباشر إلى Azure’s hierarchical RBAC" translate="no"></a></h2>
+<p><img decoding="async" loading="lazy" src="https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-setup-guide/media/organize-resources/scope-levels.png" alt="Azure Hierarchy" class="img_ev3q"></p>
+<p>In Azure, the <strong>Owner</strong> role applies at different scopes. If I have <strong>Owner</strong> at the subscription level, I am Owner of all resource groups and resources under that subscription. If I have Owner at a resource group level, I am Owner of all resources in that group.</p>
+<p>The image below shows Owner access at the subscription level. <img decoding="async" loading="lazy" alt="Subscription Owner" src="/ar/assets/images/subscription-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png" width="3456" height="1836" class="img_ev3q"></p>
+<p>Checking IAM for a resource group under that subscription shows inherited Owner access. <img decoding="async" loading="lazy" alt="RG Owner" src="/ar/assets/images/rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png" width="3456" height="1836" class="img_ev3q"></p>
+<p>That is how Azure’s RBAC is hierarchical. Many systems use similar hierarchies. In this tutorial we implement a comparable model with Casbin.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="how-casbin-works">How Casbin works<a href="#how-casbin-works" class="hash-link" aria-label="رابط مباشر إلى How Casbin works" title="رابط مباشر إلى How Casbin works" translate="no"></a></h2>
+<p>Understanding Casbin’s building blocks (request, policy, matcher, effect) makes it easier to design and tune your RBAC model.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="what-is-acl">What is ACL?<a href="#what-is-acl" class="hash-link" aria-label="رابط مباشر إلى What is ACL?" title="رابط مباشر إلى What is ACL?" translate="no"></a></h2>
+<p><strong>ACL (Access Control List)</strong> maps users to actions and actions to resources.</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="model-definition">Model definition<a href="#model-definition" class="hash-link" aria-label="رابط مباشر إلى Model definition" title="رابط مباشر إلى Model definition" translate="no"></a></h3>
+<p>A minimal ACL model:</p>
+<div class="language-toml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-toml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[request_definition]</span><br></span><span class="token-line" style="color:#393A34"><span [...]
+<ol>
+<li class=""><strong>request_definition</strong> — Defines the request format. E.g. <code>alice, write, data1</code> means “Can Alice write data1?”</li>
+<li class=""><strong>policy_definition</strong> — Defines the policy format. E.g. a policy <code>alice, write, data1</code> grants Alice permission to write data1.</li>
+<li class=""><strong>policy_effect</strong> — How multiple matching policies are combined (e.g. allow-override).</li>
+<li class=""><strong>matchers</strong> — The condition that must hold: <code>r.sub == p.sub && r.obj == p.obj && r.act == p.act</code>.</li>
+</ol>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="try-it-in-the-casbin-editor">Try it in the Casbin editor<a href="#try-it-in-the-casbin-editor" class="hash-link" aria-label="رابط مباشر إلى Try it in the Casbin editor" title="رابط مباشر إلى Try it in the Casbin editor" translate="no"></a></h3>
+<p>Open the <a href="https://casbin.org/editor" target="_blank" rel="noopener noreferrer" class="">Casbin editor</a> and paste the model above into the Model editor.</p>
+<p>Paste the following in the Policy editor:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">p</span><span class="token punctuation" style="color:#393A34">,</span><span class="token valu [...]
+<p>and the following in the Request editor:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">alice</span><span class="token punctuation" style="color:#393A34">,</span><span class="token [...]
+<p>The result will be:</p>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">true</span><br></span></code></pre></div></div>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="visual-representation-of-the-acl-model-policy-and-request-matching">Visual representation of the ACL model, policy, and request matching<a href="#visual-representation-of-the-acl-model-policy-and-request-matching" class="hash-link" aria-label="رابط مباشر إلى Visual representation of the ACL model, policy, and request matching" title="رابط مباشر إلى Visual representation of the ACL model, policy, and request matching" translate="n [...]
+<p><img decoding="async" loading="lazy" alt="acl" src="/ar/assets/images/acl-704097c47b27a1f2235c82f593af469e.png" width="6968" height="3096" class="img_ev3q"></p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="what-is-rbac">What is RBAC?<a href="#what-is-rbac" class="hash-link" aria-label="رابط مباشر إلى What is RBAC?" title="رابط مباشر إلى What is RBAC?" translate="no"></a></h2>
+<p><strong>RBAC (Role-Based Access Control)</strong> assigns users to roles; roles have permissions on resources. A request checks whether the user’s role allows the action on the resource.</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="model-definition-1">Model definition<a href="#model-definition-1" class="hash-link" aria-label="رابط مباشر إلى Model definition" title="رابط مباشر إلى Model definition" translate="no"></a></h3>
+<p>A simple RBAC model:</p>
+<div class="language-toml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-toml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[request_definition]</span><br></span><span class="token-line" style="color:#393A34"><span [...]
+<ol>
+<li class=""><strong>role_definition</strong> — Defines graph relations (e.g. <code>g</code> for role–role or user–role). The matcher uses these to resolve roles and permissions.</li>
+</ol>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="try-it-in-the-casbin-editor-1">Try it in the Casbin editor<a href="#try-it-in-the-casbin-editor-1" class="hash-link" aria-label="رابط مباشر إلى Try it in the Casbin editor" title="رابط مباشر إل ى Try it in the Casbin editor" translate="no"></a></h3>
+<p>Open the <a href="https://casbin.org/editor" target="_blank" rel="noopener noreferrer" class="">editor</a> and paste the model above.</p>
+<p>Paste the following in the Policy editor:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">p</span><span class="token punctuation" style="color:#393A34">,</span><span class="token valu [...]
+<p>and the following in the Request editor:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">alice</span><span class="token punctuation" style="color:#393A34">,</span><span class="token [...]
+<p>The result will be:</p>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">true</span><br></span><span class="token-line" style="color:#393A34"><span class="token pla [...]
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="visual-representation-of-the-rbac-model-policy-and-request-matching">Visual representation of the RBAC model, policy, and request matching<a href="#visual-representation-of-the-rbac-model-policy-and-request-matching" class="hash-link" aria-label="رابط مباشر إلى Visual representation of the RBAC model, policy, and request matching" title="رابط مباشر إلى Visual representation of the RBAC model, policy, and request matching" transla [...]
+<p><img decoding="async" loading="lazy" alt="rbac" src="/ar/assets/images/rbac-4c8e405408b9e4df554f7cd619eae897.png" width="7016" height="2844" class="img_ev3q"></p>
+<p>The <strong>g</strong> (role-to-action) relation is a graph. In policy it is written as edges, for example:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">g</span><span class="token punctuation" style="color:#393A34">,</span><span class="token valu [...]
+<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>معلومات</div><div class="admonitionContent_BuS1"><p><strong>p</strong> is a normal [...]
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="hierarchical-rbac">Hierarchical RBAC<a href="#hierarchical-rbac" class="hash-link" aria-label="رابط مباشر إلى Hierarchical RBAC" title="رابط مباشر إلى Hierarchical RBAC" translate="no"></a></h2>
+<p>In hierarchical RBAC there are multiple <strong>resource types</strong> with inheritance (e.g. Subscription → ResourceGroup). A subscription <strong>sub1</strong> can contain resource groups <strong>rg1</strong>, <strong>rg2</strong>. Similarly, there are subscription-level roles/actions and resource-group-level roles/actions, with inheritance between them. For example, the subscription role <strong>sub-owner</strong> might inherit to the resource-group role <strong>rg-owner</strong>: [...]
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="model-definition-2">Model definition<a href="#model-definition-2" class="hash-link" aria-label="رابط مباشر إلى Model definition" title="رابط مباشر إلى Model definition" translate="no"></a></h3>
+<p>A minimal hierarchical RBAC model:</p>
+<div class="language-toml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-toml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[request_definition]</span><br></span><span class="token-line" style="color:#393A34"><span [...]
+<p>Here <strong>g</strong> links roles/actions and <strong>g2</strong> links resources (e.g. subscription to resource group).</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="try-it-in-the-casbin-editor-2">Try it in the Casbin editor<a href="#try-it-in-the-casbin-editor-2" class="hash-link" aria-label="رابط مباشر إلى Try it in the Casbin editor" title="رابط مباشر إلى Try it in the Casbin editor" translate="no"></a></h3>
+<p>Open the <a href="https://casbin.org/editor" target="_blank" rel="noopener noreferrer" class="">editor</a> and paste the model above.</p>
+<p>Paste the following in the Policy editor:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">p</span><span class="token punctuation" style="color:#393A34">,</span><span class="token valu [...]
+<p>And paste the following in the Request editor:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">alice</span><span class="token punctuation" style="color:#393A34">,</span><span class="token [...]
+<p>The result will be:</p>
+<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">true</span><br></span></code></pre></div></div>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="visual-representation-of-the-rbac-model-policy-and-request-matching-1">Visual representation of the RBAC model, policy, and request matching<a href="#visual-representation-of-the-rbac-model-policy-and-request-matching-1" class="hash-link" aria-label="رابط مباشر إلى Visual representation of the RBAC model, policy, and request matching" title="رابط مباشر إلى Visual representation of the RBAC model, policy, and request matching" tra [...]
+<p><img decoding="async" loading="lazy" alt="hrbac" src="/ar/assets/images/hrbac-1350d755e04234a34394996344d2b259.png" width="7968" height="4204" class="img_ev3q"></p>
+<p>The <strong>g</strong> edges (role → action, role → role) can be written in policy as:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">// subscription role to subscription action mapping</span><span class="token plain"></span><b [...]
+<p>The <strong>g2</strong> edges map subscription to resource group:</p>
+<div class="language-csv codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csv codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token value">// subscription resource to resourceGroup resource mapping</span><span class="token plain"></ [...]
+<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="subject-matching-visual-representation">Subject Matching Visual representation<a href="#subject-matching-visual-representation" class="hash-link" aria-label="رابط مباشر إلى Subject Matching Visual representation" title="رابط مباشر إلى Subject Matching Visual representation" translate="no"></a></h4>
+<p><img decoding="async" loading="lazy" alt="hrbac-sub-match" src="/ar/assets/images/hrbac-sub-match-55dffd4e5fadb9773658dc90bacbb091.png" width="8176" height="4336" class="img_ev3q"></p>
+<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="action-matching-visual-representation">Action Matching Visual representation<a href="#action-matching-visual-representation" class="hash-link" aria-label="رابط مباشر إلى Action Matching Visual representation" title="رابط مباشر إلى Action Matching Visual representation" translate="no"></a></h4>
+<p><img decoding="async" loading="lazy" alt="hrbac-act-match" src="/ar/assets/images/hrbac-act-match-bbb086158782591771f2df01419dc4b8.png" width="7964" height="4376" class="img_ev3q"></p>
+<h4 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="object-matching-visual-representation">Object Matching Visual representation<a href="#object-matching-visual-representation" class="hash-link" aria-label="رابط مباشر إلى Object Matching Visual representation" title="رابط مباشر إلى Object Matching Visual representation" translate="no"></a></h4>
+<p><img decoding="async" loading="lazy" alt="hrbac-obj-match" src="/ar/assets/images/hrbac-obj-match-aad370d5cbfe1020ec108b9242f8d4bd.png" width="7964" height="4296" class="img_ev3q"></p>
+<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>معلومات</div><div class="admonitionContent_BuS1"><p>Casbin evaluates the request a [...]
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="conclusion">Conclusion<a href="#conclusion" class="hash-link" aria-label="رابط مباشر إلى Conclusion" title="رابط مباشر إلى Conclusion" translate="no"></a></h2>
+<p>This tutorial showed how ACL, RBAC, and hierarchical RBAC can be expressed in Casbin. In a follow-up, we will implement this in a Spring Boot app and secure APIs with Casbin.</p></div><footer class="docusaurus-mt-lg"><div class="row margin-top--sm theme-blog-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/casbin/casbin-website-v2/edit/master/i18n/ar/docusaurus-plugin-content-blog/2023-12-08-understanding-casbin-matching-in-detail.md" target="_blank" rel [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/archive/index.html b/ar/blog/archive/index.html
new file mode 100644
index 00000000..c306d355
--- /dev/null
+++ b/ar/blog/archive/index.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html lang="ar" dir="rtl" class="plugin-blog plugin-id-default" data-has-hydrated="false">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v3.9.2">
+<title data-rh="true">أرشيف | Apache Casbin</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://casbin.org/ar/blog/archive"><meta data-rh="true" property="og:locale" content="ar"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data-rh="true [...]
+<link rel="alternate" type="application/atom+xml" href="/ar/blog/atom.xml" title="Apache Casbin Atom Feed">
+
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-8S2TKCJ27X"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8S2TKCJ27X",{})</script>
+
+
+
+<link rel="search" type="application/opensearchdescription+xml" title="Apache Casbin" href="/ar/opensearch.xml">
+<script src="/js/hotjar.js" async></script>
+<script src="/js/probe.js" async></script>
+<script src="/js/clarity.js" async></script><link rel="stylesheet" href="/ar/assets/css/styles.56e094d1.css">
+<script src="/ar/assets/js/runtime~main.de043676.js" defer="defer"></script>
+<script src="/ar/assets/js/main.13d7b016.js" defer="defer"></script>
+</head>
+<body class="navigation-with-keyboard">
+<svg style="display: none;"><defs>
+<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
+</defs></svg>
+<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var [...]
+ <a href="https://discord.gg/S5UjpzGZjN" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
+ <path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8 [...]
+ </svg>
+ <span>Discord</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://stackoverflow.com/search?q=casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M18.986 21.865v-6.404h2.134V24H1.844v-8.539h2.13v6.404h15.012zM6.111 19.731H16.85v-2.137H6.111v2.137zm.259-4.852l10.48 2.189.451-2.07-10.478-2.187-.453 2.068zm1.359-5.056l9.705 4.53.903-1.95-9.706-4.53-.902 1.936v.014zm2.715-4.785l8.217 6.855 1.359-1.62-8.216-6.853-1.35 1.617-.01.001zM15.751 0l-1.746 1.294 6.405 8.604 1.746-1.294L15.749 0h.002z"/>
+ </svg>
+ <span>Stack Overflow</span>
+ </a>
+ </li><li class="footer__item">
+ <a href="https://groups.google.com/g/casbin" target="_blank" rel="noopener noreferrer" class="footer__link-item footer-community-link">
+ <svg class="footer-community-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/>
+ </svg>
+ <span>Google Groups</span>
+ </a>
+ </li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">المزيد</div><ul class="footer__items clean-list"><li class="footer__item">
+ <a href="https://github.com/casbin/casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin?label=Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/jcasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/jcasbin?label=jCasbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/node-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/node-casbin?label=Node-Casbin&style=social">
+ </a>
+
+ <a href="https://github.com/php-casbin/php-casbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/php-casbin/php-casbin?label=PHP-Casbin&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/pycasbin" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/pycasbin?label=PyCasbin&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/Casbin.NET" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/Casbin.NET?label=Casbin.NET&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://github.com/casbin/casbin-cpp" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-cpp?label=Casbin-CPP&style=social">
+ </a>
+
+ <a href="https://github.com/casbin/casbin-rs" target="_blank">
+ <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/casbin/casbin-rs?label=Casbin-RS&style=social">
+ </a>
+ </li><li class="footer__item">
+ <a href="https://twitter.com/casbinHQ" target="_blank">
+ <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/casbinHQ?style=social">
+ </a>
+ </li><li class="footer__item">
+<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?2c0ffc6f8d49e98d964d59d7aa4cbf34";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
+</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://www.apache.org/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/ar/img/asf_logo_wide_small.png" alt="Apache Software Foundation" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"></a></div><div clas [...]
+</body>
+</html>
\ No newline at end of file
diff --git a/ar/blog/atom.xml b/ar/blog/atom.xml
new file mode 100644
index 00000000..ad7ddb72
--- /dev/null
+++ b/ar/blog/atom.xml
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>https://casbin.org/ar/blog</id>
+ <title>Apache Casbin Blog</title>
+ <updated>2025-12-11T00:00:00.000Z</updated>
+ <generator>https://github.com/jpmonette/feed</generator>
+ <link rel="alternate" href="https://casbin.org/ar/blog"/>
+ <subtitle>Apache Casbin Blog</subtitle>
+ <icon>https://casbin.org/ar/img/favicon.png</icon>
+ <entry>
+ <title type="html"><![CDATA[Casbin in 2025: Authorization for the AI Agent Era]]></title>
+ <id>https://casbin.org/ar/blog/casbin-2025-ai-agent-era</id>
+ <link href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era"/>
+ <updated>2025-12-11T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[2024 was the year AI agents moved from demos to production. The Model Context Protocol (MCP) has been adopted by Google, OpenAI, Microsoft, and many others, and the way applications talk to external services is changing. That shift brings a new set of authorization challenges we at Casbin have been working on.]]></summary>
+ <content type="html"><![CDATA[<p>2024 was the year AI agents moved from demos to production. The Model Context Protocol (MCP) has been adopted by Google, OpenAI, Microsoft, and many others, and the way applications talk to external services is changing. That shift brings a new set of authorization challenges we at Casbin have been working on.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="the-world-has-changed">The World Has Changed<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#the-world-has-changed" class="hash-link" aria-label="رابط مباشر إلى The World Has Changed" title="رابط مباشر إلى The World Has Changed" translate="no"></a></h2>
+<p>When we started Casbin back in 2017, the typical authorization scenario was straightforward: a user makes a request, we check if they have permission, done. Today? An AI agent might be acting on behalf of a user, calling multiple MCP servers, each with their own tool permissions, and the whole thing needs to happen in milliseconds at the edge.</p>
+<p>The MCP spec now classifies MCP servers as OAuth 2.0 Resource Servers (June 2025 update), with fine-grained scopes like <code>mcp:tools:weather</code> or <code>mcp:resources:customer-data:read</code>. That is the kind of granular permission model Casbin was built for; integration with MCP and OAuth still needs more work.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="what-were-working-on">What We're Working On<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#what-were-working-on" class="hash-link" aria-label="رابط مباشر إلى What We're Working On" title="رابط مباشر إلى What We're Working On" translate="no"></a></h2>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="mcp-server-authorization">MCP Server Authorization<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#mcp-server-authorization" class="hash-link" aria-label="رابط مباشر إلى MCP Server Authorization" title="رابط مباشر إلى MCP Server Authorization" translate="no"></a></h3>
+<p>This is one of our main focus areas. When an AI agent calls an MCP server, the server must decide: can this agent, on behalf of this user, invoke this tool with these parameters?</p>
+<p>Traditional RBAC is not enough. You need something like ABAC—e.g. “is this agent allowed to access customer data for Alice’s region during business hours?” We are exploring how Casbin’s policy model can express these constraints.</p>
+<p>The catch: MCP servers must decide very quickly. We are looking at lightweight policy evaluation inside the MCP server process instead of calling a separate authorization service.</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="edge-first-authorization">Edge-First Authorization<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#edge-first-authorization" class="hash-link" aria-label="رابط مباشر إلى Edge-First Authorization" title="رابط مباشر إلى Edge-First Authorization" translate="no"></a></h3>
+<p>Cloudflare Workers, Deno Deploy, Vercel Edge Functions - the edge computing space has exploded. In 2025, sub-50ms response times are table stakes, and you can't afford to add 100ms for an authorization check to some central server.</p>
+<p>This is pushing us to think differently about how Casbin works. Can we compile policies to WebAssembly and run them directly in V8 isolates? Can we do smart policy caching at the edge while maintaining consistency? These are hard problems, and we don't have all the answers yet, but it's where things are heading.</p>
+<p>We're particularly interested in the Cloudflare Workers ecosystem - they've built out a whole platform for MCP servers with built-in OAuth support. A native Casbin integration there could be powerful.</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="rag-pipeline-authorization">RAG Pipeline Authorization<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#rag-pipeline-authorization" class="hash-link" aria-label="رابط مباشر إلى RAG Pipeline Authorization" title="رابط مباشر إلى RAG Pipeline Authorization" translate="no"></a></h3>
+<p>A recurring theme: companies building RAG systems where the LLM must access internal documents, but each user should only see documents they are allowed to see.</p>
+<p>The OWASP Top 10 for LLM Applications 2025 lists “Sensitive Information Disclosure” as a major risk. The fix is not only to filter outputs but to ensure the LLM never retrieves documents the user is not authorized to access.</p>
+<p>So authorization must happen at the vector store query level. We are looking at turning Casbin policies into metadata filters for vector DBs—i.e. a permission check becomes a WHERE clause pushed down to retrieval.</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="multi-agent-scenarios">Multi-Agent Scenarios<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#multi-agent-scenarios" class="hash-link" aria-label="رابط مباشر إلى Multi-Agent Scenarios" title="رابط مباشر إلى Multi-Agent Scenarios" translate="no"></a></h3>
+<p>With multiple agents in a chain (e.g. coding agent → deployment agent → monitoring agent), permission delegation is tricky. Each agent may have different capabilities, and you must track the full chain.</p>
+<p>OAuth’s On-Behalf-Of (OBO) flow covers part of this, but the logic for “can agent B do X on behalf of agent A on behalf of user alice” needs a clear model. Casbin’s role hierarchies and domain RBAC could extend to agent hierarchies; we are working through the semantics.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="the-traditional-roadmap-stuff">The Traditional Roadmap Stuff<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#the-traditional-roadmap-stuff" class="hash-link" aria-label="رابط مباشر إلى The Traditional Roadmap Stuff" title="رابط مباشر إلى The Traditional Roadmap Stuff" translate="no"></a></h2>
+<p>Of course, we're not abandoning the basics. Some practical things on our list:</p>
+<p><strong>Language implementations catching up</strong> - SwiftCasbin and Lua-Casbin are still behind on features compared to the Go and Node.js versions. The <code>in</code> operator, WatcherEx, better caching for the <code>g</code> function - these need to be consistent everywhere.</p>
+<p><strong>New framework middlewares</strong> - go-zero has been requested repeatedly. Poem for Rust is gaining traction. Play Framework for Java has been on the wishlist forever.</p>
+<p><strong>Performance work</strong> - As policies get more complex for these new use cases, evaluation speed matters more. We need better benchmarking, profiling, and optimization across all implementations.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="what-we-dont-know-yet">What we don’t know yet<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#what-we-dont-know-yet" class="hash-link" aria-label="رابط مباشر إلى What we don’t know yet" title="رابط مباشر إلى What we don’t know yet" translate="no"></a></h2>
+<p>The AI agent authorization space is moving fast; we are learning as we go. Open questions:</p>
+<ul>
+<li class="">Should Casbin have first-class primitives for "agent identity" vs "user identity"?</li>
+<li class="">How do you handle authorization for tools that are dynamically discovered via MCP?</li>
+<li class="">What's the right caching strategy when policies might depend on real-time context?</li>
+</ul>
+<p>If you are building in this space and hitting authorization problems, we want to hear from you. The best features come from real use cases.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="getting-involved">Getting involved<a href="https://casbin.org/ar/blog/casbin-2025-ai-agent-era#getting-involved" class="hash-link" aria-label="رابط مباشر إلى Getting involved" title="رابط مباشر إلى Getting involved" translate="no"></a></h2>
+<p>We have been a GSoC organization for years, and these AI-related topics are a good fit for summer projects. You do not need to wait for GSoC—if this sounds interesting, reach out on Discord or open an issue on GitHub.</p>
+<p>The next few years are going to be wild for authorization. The problems are harder, but also more interesting. We're excited to figure them out together.</p>]]></content>
+ <author>
+ <name>Yang Luo</name>
+ <uri>https://github.com/hsluoyz</uri>
+ </author>
+ <category label="casbin" term="casbin"/>
+ <category label="roadmap" term="roadmap"/>
+ <category label="AI" term="AI"/>
+ <category label="MCP" term="MCP"/>
+ <category label="edge-computing" term="edge-computing"/>
+ <category label="LLM" term="LLM"/>
+ </entry>
+ <entry>
+ <title type="html"><![CDATA[Understanding How Casbin Matching Works in Detail]]></title>
+ <id>https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail</id>
+ <link href="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail"/>
+ <updated>2023-12-08T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[This post explains how to design and implement RBAC with the Casbin library. For SaaS platforms with resource hierarchies and roles that inherit permissions, Casbin is a performant option.]]></summary>
+ <content type="html"><![CDATA[<p>This post explains how to design and implement RBAC with the <a href="https://casbin.org/" target="_blank" rel="noopener noreferrer" class="">Casbin</a> library. For SaaS platforms with resource hierarchies and roles that inherit permissions, Casbin is a performant option.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="introduction-to-rbac">Introduction to RBAC<a href="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail#introduction-to-rbac" class="hash-link" aria-label="رابط مباشر إلى Introduction to RBAC" title="رابط مباشر إلى Introduction to RBAC" translate="no"></a></h2>
+<p>RBAC restricts access based on the roles users hold. To see how <strong>hierarchical</strong> RBAC works, we look at Azure’s RBAC and then implement something similar in Casbin.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="azures-hierarchical-rbac">Azure’s hierarchical RBAC<a href="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail#azures-hierarchical-rbac" class="hash-link" aria-label="رابط مباشر إلى Azure’s hierarchical RBAC" title="رابط مباشر إلى Azure’s hierarchical RBAC" translate="no"></a></h2>
+<p><img decoding="async" loading="lazy" src="https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-setup-guide/media/organize-resources/scope-levels.png" alt="Azure Hierarchy" class="img_ev3q"></p>
+<p>In Azure, the <strong>Owner</strong> role applies at different scopes. If I have <strong>Owner</strong> at the subscription level, I am Owner of all resource groups and resources under that subscription. If I have Owner at a resource group level, I am Owner of all resources in that group.</p>
+<p>The image below shows Owner access at the subscription level. <img decoding="async" loading="lazy" alt="Subscription Owner" src="https://casbin.org/ar/assets/images/subscription-owner-f1a7e1c9c03d7c587ce910ae5e6d8a35.png" width="3456" height="1836" class="img_ev3q"></p>
+<p>Checking IAM for a resource group under that subscription shows inherited Owner access. <img decoding="async" loading="lazy" alt="RG Owner" src="https://casbin.org/ar/assets/images/rg-owner-9c6cd2ae5997a5fba717c445f43130e6.png" width="3456" height="1836" class="img_ev3q"></p>
+<p>That is how Azure’s RBAC is hierarchical. Many systems use similar hierarchies. In this tutorial we implement a comparable model with Casbin.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="how-casbin-works">How Casbin works<a href="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail#how-casbin-works" class="hash-link" aria-label="رابط مباشر إلى How Casbin works" title="رابط مباشر إلى How Casbin works" translate="no"></a></h2>
+<p>Understanding Casbin’s building blocks (request, policy, matcher, effect) makes it easier to design and tune your RBAC model.</p>
+<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="what-is-acl">What is ACL?<a href="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail#what-is-acl" class="hash-link" aria-label="رابط مباشر إلى What is ACL?" title="رابط مباشر إلى What is ACL?" translate="no"></a></h2>
+<p><strong>ACL (Access Control List)</strong> maps users to actions and actions to resources.</p>
+<h3 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="model-definition">Model definition<a href="https://casbin.org/ar/blog/2023/12/08/understanding-casbin-matching-in-detail#model-definition" class="hash-link" aria-label="رابط مباشر إلى Model definition" title="رابط مباشر إلى Model definition" translate="no"></a></h3>
+<p>A minimal ACL model:</p>
+<div class="language-toml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-toml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[request_definition]</span><br></span><span class="token-line" style="color:#393A34"><span [...]
+<ol>
+<li class=""><strong>request_definition</strong> — Defines the request format. E.g. <code>alice, write, data1</code> means “Can Alice write data1?”</li>
... 304772 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@casbin.apache.org
For additional commands, e-mail: commits-help@casbin.apache.org