├── .github ├── dependabot.yml └── workflows │ ├── changelog.yml │ ├── ci.yml │ ├── coverage.yml │ ├── pull_request.yml │ ├── release.yml │ └── rustdoc.yml ├── .gitignore ├── .vimspector.json ├── CHANGELOG.md ├── CUSTOM_FUNCTIONS.md ├── Cargo.toml ├── LICENSE ├── README.md ├── benches └── benchmark.rs ├── casbin-logo.png ├── examples ├── abac_model.conf ├── basic_inverse_policy.csv ├── basic_model.conf ├── basic_policy.csv ├── basic_with_root_model.conf ├── basic_without_resources_model.conf ├── basic_without_resources_policy.csv ├── basic_without_users_model.conf ├── basic_without_users_policy.csv ├── error │ ├── error_model.conf │ └── error_policy.csv ├── ipmatch_model.conf ├── ipmatch_policy.csv ├── keymatch2_model.conf ├── keymatch2_policy.csv ├── keymatch_custom_model.conf ├── keymatch_model.conf ├── keymatch_policy.csv ├── multi_section_model.conf ├── multi_section_policy.csv ├── priority_indeterminate_policy.csv ├── priority_model.conf ├── priority_policy.csv ├── rbac_basic_role_model.conf ├── rbac_basic_role_policy.csv ├── rbac_model.conf ├── rbac_model_in_multi_line.conf ├── rbac_model_matcher_using_in_op.conf ├── rbac_policy.csv ├── rbac_with_deny_model.conf ├── rbac_with_deny_policy.csv ├── rbac_with_domains_model.conf ├── rbac_with_domains_policy.csv ├── rbac_with_hierarchy_policy.csv ├── rbac_with_hierarchy_with_domains_policy.csv ├── rbac_with_not_deny_model.conf ├── rbac_with_pattern_domain_model.conf ├── rbac_with_pattern_domain_policy.csv ├── rbac_with_pattern_model.conf ├── rbac_with_pattern_policy.csv ├── rbac_with_resource_roles_model.conf ├── rbac_with_resource_roles_policy.csv └── testini.ini ├── rustfmt.toml └── src ├── adapter ├── file_adapter.rs ├── memory_adapter.rs ├── mod.rs ├── null_adapter.rs └── string_adapter.rs ├── cache ├── default_cache.rs └── mod.rs ├── cached_api.rs ├── cached_enforcer.rs ├── config.rs ├── convert.rs ├── core_api.rs ├── effector.rs ├── emitter.rs ├── enforcer.rs ├── error.rs ├── frontend.rs ├── internal_api.rs ├── lib.rs ├── logger ├── default_logger.rs └── mod.rs ├── macros.rs ├── management_api.rs ├── model ├── assertion.rs ├── default_model.rs ├── function_map.rs └── mod.rs ├── prelude.rs ├── rbac ├── default_role_manager.rs ├── mod.rs └── role_manager.rs ├── rbac_api.rs ├── util.rs └── watcher.rs /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/changelog.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/workflows/changelog.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/coverage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/workflows/coverage.yml -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/workflows/pull_request.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/rustdoc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.github/workflows/rustdoc.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.gitignore -------------------------------------------------------------------------------- /.vimspector.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/.vimspector.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CUSTOM_FUNCTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/CUSTOM_FUNCTIONS.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/README.md -------------------------------------------------------------------------------- /benches/benchmark.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/benches/benchmark.rs -------------------------------------------------------------------------------- /casbin-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/casbin-logo.png -------------------------------------------------------------------------------- /examples/abac_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/abac_model.conf -------------------------------------------------------------------------------- /examples/basic_inverse_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_inverse_policy.csv -------------------------------------------------------------------------------- /examples/basic_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_model.conf -------------------------------------------------------------------------------- /examples/basic_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_policy.csv -------------------------------------------------------------------------------- /examples/basic_with_root_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_with_root_model.conf -------------------------------------------------------------------------------- /examples/basic_without_resources_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_without_resources_model.conf -------------------------------------------------------------------------------- /examples/basic_without_resources_policy.csv: -------------------------------------------------------------------------------- 1 | p, alice, read 2 | p, bob, write -------------------------------------------------------------------------------- /examples/basic_without_users_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_without_users_model.conf -------------------------------------------------------------------------------- /examples/basic_without_users_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/basic_without_users_policy.csv -------------------------------------------------------------------------------- /examples/error/error_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/error/error_model.conf -------------------------------------------------------------------------------- /examples/error/error_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/error/error_policy.csv -------------------------------------------------------------------------------- /examples/ipmatch_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/ipmatch_model.conf -------------------------------------------------------------------------------- /examples/ipmatch_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/ipmatch_policy.csv -------------------------------------------------------------------------------- /examples/keymatch2_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/keymatch2_model.conf -------------------------------------------------------------------------------- /examples/keymatch2_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/keymatch2_policy.csv -------------------------------------------------------------------------------- /examples/keymatch_custom_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/keymatch_custom_model.conf -------------------------------------------------------------------------------- /examples/keymatch_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/keymatch_model.conf -------------------------------------------------------------------------------- /examples/keymatch_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/keymatch_policy.csv -------------------------------------------------------------------------------- /examples/multi_section_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/multi_section_model.conf -------------------------------------------------------------------------------- /examples/multi_section_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/multi_section_policy.csv -------------------------------------------------------------------------------- /examples/priority_indeterminate_policy.csv: -------------------------------------------------------------------------------- 1 | p, alice, data1, read, indeterminate -------------------------------------------------------------------------------- /examples/priority_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/priority_model.conf -------------------------------------------------------------------------------- /examples/priority_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/priority_policy.csv -------------------------------------------------------------------------------- /examples/rbac_basic_role_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_basic_role_model.conf -------------------------------------------------------------------------------- /examples/rbac_basic_role_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_basic_role_policy.csv -------------------------------------------------------------------------------- /examples/rbac_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_model.conf -------------------------------------------------------------------------------- /examples/rbac_model_in_multi_line.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_model_in_multi_line.conf -------------------------------------------------------------------------------- /examples/rbac_model_matcher_using_in_op.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_model_matcher_using_in_op.conf -------------------------------------------------------------------------------- /examples/rbac_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_deny_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_deny_model.conf -------------------------------------------------------------------------------- /examples/rbac_with_deny_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_deny_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_domains_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_domains_model.conf -------------------------------------------------------------------------------- /examples/rbac_with_domains_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_domains_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_hierarchy_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_hierarchy_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_hierarchy_with_domains_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_hierarchy_with_domains_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_not_deny_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_not_deny_model.conf -------------------------------------------------------------------------------- /examples/rbac_with_pattern_domain_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_pattern_domain_model.conf -------------------------------------------------------------------------------- /examples/rbac_with_pattern_domain_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_pattern_domain_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_pattern_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_pattern_model.conf -------------------------------------------------------------------------------- /examples/rbac_with_pattern_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_pattern_policy.csv -------------------------------------------------------------------------------- /examples/rbac_with_resource_roles_model.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_resource_roles_model.conf -------------------------------------------------------------------------------- /examples/rbac_with_resource_roles_policy.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/rbac_with_resource_roles_policy.csv -------------------------------------------------------------------------------- /examples/testini.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/examples/testini.ini -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | max_width = 80 2 | -------------------------------------------------------------------------------- /src/adapter/file_adapter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/adapter/file_adapter.rs -------------------------------------------------------------------------------- /src/adapter/memory_adapter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/adapter/memory_adapter.rs -------------------------------------------------------------------------------- /src/adapter/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/adapter/mod.rs -------------------------------------------------------------------------------- /src/adapter/null_adapter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/adapter/null_adapter.rs -------------------------------------------------------------------------------- /src/adapter/string_adapter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/adapter/string_adapter.rs -------------------------------------------------------------------------------- /src/cache/default_cache.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/cache/default_cache.rs -------------------------------------------------------------------------------- /src/cache/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/cache/mod.rs -------------------------------------------------------------------------------- /src/cached_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/cached_api.rs -------------------------------------------------------------------------------- /src/cached_enforcer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/cached_enforcer.rs -------------------------------------------------------------------------------- /src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/config.rs -------------------------------------------------------------------------------- /src/convert.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/convert.rs -------------------------------------------------------------------------------- /src/core_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/core_api.rs -------------------------------------------------------------------------------- /src/effector.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/effector.rs -------------------------------------------------------------------------------- /src/emitter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/emitter.rs -------------------------------------------------------------------------------- /src/enforcer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/enforcer.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/frontend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/frontend.rs -------------------------------------------------------------------------------- /src/internal_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/internal_api.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/logger/default_logger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/logger/default_logger.rs -------------------------------------------------------------------------------- /src/logger/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/logger/mod.rs -------------------------------------------------------------------------------- /src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/macros.rs -------------------------------------------------------------------------------- /src/management_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/management_api.rs -------------------------------------------------------------------------------- /src/model/assertion.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/model/assertion.rs -------------------------------------------------------------------------------- /src/model/default_model.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/model/default_model.rs -------------------------------------------------------------------------------- /src/model/function_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/model/function_map.rs -------------------------------------------------------------------------------- /src/model/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/model/mod.rs -------------------------------------------------------------------------------- /src/prelude.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/prelude.rs -------------------------------------------------------------------------------- /src/rbac/default_role_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/rbac/default_role_manager.rs -------------------------------------------------------------------------------- /src/rbac/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/rbac/mod.rs -------------------------------------------------------------------------------- /src/rbac/role_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/rbac/role_manager.rs -------------------------------------------------------------------------------- /src/rbac_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/rbac_api.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/util.rs -------------------------------------------------------------------------------- /src/watcher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/casbin/casbin-rs/HEAD/src/watcher.rs --------------------------------------------------------------------------------