Диспетчеры
Диспетчер обеспечивает способ синхронизации инкрементальных изменений политики. Он должен быть основан на алгоритмах согласованности, таких как рафт, чтобы обеспечить согласованность всех силовых инстанций. С помощью диспетчера пользователи могут легко устанавливать распределенные кластеры.
Метод диспетчера разделен на две части. Первый метод сочетается с casbin. Эти методы следует называть внутри казино. Пользователи могут использовать более полный api, предоставляемый самим казино.
Другая часть - метод, определяемый самим диспетчером, включая метод инициализации диспетчера, и различные функции, предоставляемые различными алгоритмами, такими как динамическое членство, изменения конфигурации и т.д.
::note Надеемся, что диспетчер просто обеспечит последовательность силы Касбина во время работы. Так что если политика несовместима при инициализации, диспетчер не будет работать должным образом. Пользователи должны убедиться, что состояние всех экземпляров является последовательным перед использованием диспетчера. :::
Полный список диспетчеров Casbin приводится ниже. Любой вклад сторонних разработчиков в новый диспетчер приветствуется, пожалуйста, сообщите нам и мы поместим его в этот список:)
Диспетчер | Тип | Автор | Описание |
---|---|---|---|
Диспетчер хэшикорпа | крафт | Casbin | Диспетчер на основе хашикор/крафт |
DistributedEnforcer
DistributedEnforcer обертывает SyncedEnforcer для диспетчера.
e, _ := casbin.NewDistributedEnforcer("Примеры basic_model.conf", "examples/basic_policy.csv")