๐ŸŽ‰ Visit the new Casbin docs at: casbin.org now! ๐Ÿฅณ
Casbin

Casbin

  • ๋ฌธ์„œ
  • API
  • ํŽธ์ง‘๊ธฐ
  • IDE Plugins
  • Single Sign-On (SSO)
  • Forum
  • ๋„์›€๋ง
  • ๋ธ”๋กœ๊ทธ
  • Pricing
  • Contact Sales
  • Languages iconํ•œ๊ตญ์–ด
    • English
    • ไธญๆ–‡
    • ะ ัƒััะบะธะน
    • Franรงais
    • Deutsch
    • ๆ—ฅๆœฌ่ชž
    • ๋ฒˆ์—ญ ์ฐธ์—ฌํ•˜๊ธฐ
  • GitHub

โ€บํ™•์žฅ ๊ธฐ๋Šฅ

๊ธฐ์ดˆ

  • ๊ฐœ์š”(Overview)
  • ์‹œ์ž‘ํ•˜๊ธฐ
  • ์ž‘๋™ ์›๋ฆฌ
  • ์ž์Šต์„œ

๋ชจ๋ธ

  • ์ง€์›ํ•˜๋Š” ์ ‘๊ทผ ์ œ์–ด ๋ชจ๋ธ
  • ๋ชจ๋ธ(Model) ๋ฌธ๋ฒ•
  • Effector
  • ํ•จ์ˆ˜
  • RBAC
  • RBAC with Pattern
  • RBAC + ๋„๋ฉ”์ธ
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • Priority Model
  • Super Admin

์ €์žฅ์†Œ

  • ๋ชจ๋ธ(Model) ์ €์žฅ
  • ์ •์ฑ…(Policy) ์ €์žฅ
  • ์ •์ฑ…(Policy) ๋ถ€๋ถ„ ์ง‘ํ•ฉ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

ํ™•์žฅ ๊ธฐ๋Šฅ

  • Enforcers
  • ์–ด๋Œ‘ํ„ฐ
  • ๊ฐ์‹œ์ž
  • Dispatchers
  • ์—ญํ• (Role) ๊ด€๋ฆฌ์ž
  • ๋ฏธ๋“ค์›จ์–ด
  • GraphQL Middlewares
  • Cloud Native Middlewares

API

  • API Overview
  • Management API
  • RBAC API
  • RBAC with Domains API
  • RoleManager API
  • Data Permissions

๊ณ ๊ธ‰ ์‚ฌ์šฉ๋ฒ• (Advanced usage)

  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ
  • ๋ฒค์น˜๋งˆํฌ
  • Performance Optimization
  • Authorization of Kubernetes
  • Authorization of Service Mesh through Envoy

๊ด€๋ฆฌ

  • ๊ด€๋ฆฌ์ž ํฌํƒˆ
  • Casbin ์„œ๋น„์Šค
  • ๋กœ๊น… ๋ฐ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
  • Frontend Usage

Editor

  • ์˜จ๋ผ์ธ ํŽธ์ง‘๊ธฐ
  • IDE Plugins

์ž์„ธํžˆ

  • Casbin ์ ์šฉ ์‚ฌ๋ก€
  • Contributing
  • Privacy Policy
  • Terms of Service
Translate

Dispatchers

Dispatcher provide a way to synchronize incremental changes of policy. It should be based on consistency algorithms such as raft to ensure the consistency of all enforcer instances. Through dispatcher users can easily establish distributed clusters.

The dispatcher's method is divided into two parts. The first is the method combined with casbin. These methods should be called inside casbin. Users can use the more complete api provided by casbin itself.

The other part is the method defined by the dispatcher itself, including the dispatcher initialization method, and different functions provided by different algorithms, such as dynamic membership, config changes etc.

note

we hope dispatcher just ensure the consistency of Casbin enforcer at runtime. So if the policy is inconsistent when initialization, the dispatcher will not work properly. Users need to ensure that the state of all instances is consistent before using dispatcher.

A complete list of Casbin dispatchers is provided as below. Any 3rd-party contribution on a new dispatcher is welcomed, please inform us and we will put it in this list:)

Go
DispatcherTypeAuthorDescription
Hashicorp Raft DispatcherraftCasbinDispatcher based on hashicorp/raft

DistributedEnforcer

DistributedEnforcer wraps SyncedEnforcer for dispatcher.

Go
    e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")

โ† ๊ฐ์‹œ์ž์—ญํ• (Role) ๊ด€๋ฆฌ์ž โ†’
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright ยฉ 2022 Casbin Organization