Watchers
Kami menyokong penggunaan sistem pemesejan teragih seperti etcd untuk menjaga konsistensi antara pelbagai contoh penguat Casbin. Ini membolehkan pengguna kami menggunakan berbilang penguat Casbin secara serentak untuk mengendalikan sejumlah besar permintaan pemeriksaan kebenaran.
Serupa dengan penyesuai penyimpanan dasar, kami tidak memasukkan kod pemerhati dalam pustaka utama. Sebarang sokongan untuk sistem pemesejan baharu harus dilaksanakan sebagai pemerhati. Senarai lengkap pemerhati Casbin diberikan di bawah. Kami mengalu-alukan sumbangan pihak ketiga untuk pemerhati baharu, sila maklumkan kepada kami dan kami akan menambahkannya ke dalam senarai ini:
- Go
- Java
- Node.js
- Python
- .NET
- Ruby
- PHP
Watcher | Type | Author | Description |
---|---|---|---|
PostgreSQL WatcherEx | Database | @IguteChung | WatcherEx for PostgreSQL |
Redis WatcherEx | KV store | Casbin | WatcherEx for Redis |
Redis Watcher | KV store | @billcobbler | Watcher for Redis |
Etcd Watcher | KV store | Casbin | Watcher for etcd |
TiKV Watcher | KV store | Casbin | Watcher for TiKV |
Kafka Watcher | Messaging system | @wgarunap | Watcher for Apache Kafka |
NATS Watcher | Messaging system | Soluto | Watcher for NATS |
ZooKeeper Watcher | Messaging system | Grepsr | Watcher for Apache ZooKeeper |
NATS, RabbitMQ, GCP Pub/Sub, AWS SNS & SQS, Kafka, InMemory | Messaging System | @rusenask | Watcher based on Go Cloud Dev Kit that works with leading cloud providers and self-hosted infrastructure |
NATS, RabbitMQ, GCP Pub/Sub, AWS SNS & SQS, Kafka, InMemory | Messaging System | @bartventer | WatcherEx based on Go Cloud Dev Kit that works with leading cloud providers and self-hosted infrastructure |
RocketMQ Watcher | Messaging system | @fmyxyz | Watcher for Apache RocketMQ |
Watcher | Type | Author | Description |
---|---|---|---|
Etcd Adapter | KV store | @mapleafgo | Watcher for etcd |
Redis Watcher | KV store | Casbin | Watcher for Redis |
Lettuce-Based Redis Watcher | KV store | Casbin | Watcher for Redis based on Lettuce) |
Kafka Watcher | Messaging system | Casbin | Watcher for Apache Kafka |
Watcher | Type | Author | Description |
---|---|---|---|
Etcd Watcher | KV store | Casbin | Watcher for etcd |
Redis Watcher | KV store | Casbin | Watcher for Redis |
Pub/Sub Watcher | Messaging system | Casbin | Watcher for Google Cloud Pub/Sub |
MongoDB Change Streams Watcher | Database | Casbin | Watcher for MongoDB Change Streams |
Postgres Watcher | Database | @mcollina | Watcher for PostgreSQL |
Watcher | Type | Author | Description |
---|---|---|---|
Etcd Watcher | KV store | Casbin | Watcher for etcd |
Redis Watcher | KV store | Casbin | Watcher for Redis |
Redis Watcher | KV store | ScienceLogic | Watcher for Redis |
Redis Async Watcher | KV store | @kevinkelin | Watcher for Redis |
PostgreSQL Watcher | Database | Casbin | Watcher for PostgreSQL |
RabbitMQ Watcher | Messaging system | Casbin | Watcher for RabbitMQ |
Watcher | Type | Author | Description |
---|---|---|---|
Redis Watcher | KV store | @Sbou | Watcher for Redis |
Watcher | Type | Author | Description |
---|---|---|---|
Redis Watcher | KV store | CasbinRuby | Watcher for Redis |
RabbitMQ Watcher | Messaging system | CasbinRuby | Watcher for RabbitMQ |
Watcher | Type | Author | Description |
---|---|---|---|
Redis Watcher | KV store | @Tinywan | Watcher for Redis |
WatcherEx
Untuk menyokong sinkronisasi inkremental antara pelbagai contoh, kami menyediakan antara muka PemerhatiEx
. Kami berharap ia dapat memberitahu contoh lain apabila polisi berubah, tetapi sekarang belum ada pelaksanaan PemerhatiEx
. Kami mengesyorkan anda menggunakan pengirim untuk mencapai ini.
Berbanding dengan antara muka Pemerhati
, PemerhatiEx
dapat membezakan jenis tindakan kemas kini yang diterima, misalnya, TambahPolisi
dan AlihKeluarPolisi
.
API PemerhatiEx:
API | Penerangan |
---|---|
SetUpdateCallback(func(string)) ralat | SetUpdateCallback menetapkan fungsi panggilan balik yang akan dipanggil oleh penonton, apabila dasar dalam DB telah diubah oleh contoh lain. Panggilan balik klasik adalah Enforcer.LoadPolicy(). |
Kemaskini() ralat | Kemaskini memanggil panggilan balik kemas kini contoh lain untuk menyegerakkan dasar mereka. Ia biasanya dipanggil selepas mengubah dasar dalam DB, seperti Enforcer.SavePolicy(), Enforcer.AddPolicy(), Enforcer.RemovePolicy(), dll. |
Tutup() | Tutup menghentikan dan melepaskan penonton, fungsi panggilan balik tidak akan dipanggil lagi. |
UpdateForAddPolicy(sec, ptype string, params ...string) ralat | UpdateForAddPolicy memanggil panggilan balik kemas kini daripada contoh-contoh lain untuk menyegerakkan dasar mereka. Ia dipanggil selepas dasar ditambahkan melalui Enforcer.AddPolicy(), Enforcer.AddNamedPolicy(), Enforcer.AddGroupingPolicy() dan Enforcer.AddNamedGroupingPolicy(). |
UpdateForRemovePolicy(sec, ptype string, params ...string) error | UpdateForRemovePolicy memanggil panggilan balik kemas kini daripada contoh-contoh lain untuk menyegerakkan dasar mereka. Ia dipanggil selepas dasar dikeluarkan oleh Enforcer.RemovePolicy(), Enforcer.RemoveNamedPolicy(), Enforcer.RemoveGroupingPolicy() dan Enforcer.RemoveNamedGroupingPolicy(). |
UpdateForRemoveFilteredPolicy(sec, ptype string, fieldIndex int, fieldValues ...string) error | UpdateForRemoveFilteredPolicy memanggil panggilan balik kemas kini daripada contoh-contoh lain untuk menyegerakkan dasar mereka. Ia dipanggil selepas Enforcer.RemoveFilteredPolicy(), Enforcer.RemoveFilteredNamedPolicy(), Enforcer.RemoveFilteredGroupingPolicy() dan Enforcer.RemoveFilteredNamedGroupingPolicy(). |
UpdateForSavePolicy(model model.Model) error | UpdateForSavePolicy memanggil panggilan balik kemas kini daripada contoh-contoh lain untuk menyegerakkan dasar mereka. Ia dipanggil selepas Enforcer.SavePolicy() |
UpdateForAddPolicies(sec string, ptype string, rules ...[]string) ralat | UpdateForAddPolicies memanggil panggilan balik kemas kini daripada contoh-contoh lain untuk menyegerakkan dasar mereka. Ia dipanggil selepas Enforcer.AddPolicies(), Enforcer.AddNamedPolicies(), Enforcer.AddGroupingPolicies() dan Enforcer.AddNamedGroupingPolicies(). |
UpdateForRemovePolicies(sec string, ptype string, rules ...[]string) ralat | UpdateForRemovePolicies memanggil panggilan balik kemas kini daripada contoh-contoh lain untuk menyegerakkan dasar mereka. Ia dipanggil selepas Enforcer.RemovePolicies(), Enforcer.RemoveNamedPolicies(), Enforcer.RemoveGroupingPolicies() dan Enforcer.RemoveNamedGroupingPolicies(). |