メインコンテンツにスキップ

派遣者

ディスパッチャは、ポリシーの増分変更を同期させる方法を提供します。 これは、すべてのエンフォーサーインスタンスの一貫性を確保するために、いかだなどの一貫性アルゴリズムに基づく必要があります。 ディスパッチャを使用すると、分散クラスタを簡単に確立できます。

派遣者の方法は二つに分かれています。 最初はカシュビンと組み合わせた方法です。 これらの方法はカシュビン内部で呼び出されるべきです。 ユーザーは、カスビン自体が提供するより完全な API を使用することができます。

もう一つはディスパッチャ自身によって定義されたメソッドで、ディスパッチャの初期化メソッドを含みます。 動的メンバシップや設定変更などの異なるアルゴリズムによって提供されるさまざまな機能

note

派遣担当者は実行時にカスビンの執行者の一貫性を確保することを望みます そのため、初期化時にポリシーが一致しない場合、ディスパッチャは正しく動作しません。 dispatcher を使用する前に、すべてのインスタンスの状態が一貫性を保つ必要があります。

Casbinディスパッチャーの完全なリストは以下のとおりです。 新しいディスパッチャに対するサードパーティの貢献を歓迎します。お知らせください。このリストに記載します:)

ディスパッチャータイプ作成者説明
Hashicorp Raft DispatcherraftCasbinDispatcher based on hashicorp/raft
KDKYG/casbin-dispatcherraft@KDKYGDispatcher based on hashicorp/raft

DistributedEnforcer

DistributedEnforker wraps ディスパッチャの SyncedEnforcer をラップします。

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