Хранилище политики
В Касбине хранилище политики реализовано как адаптер.
Загрузить политику из .CSV файла
Это самый распространенный способ использования Касбина. Это легко понять для начинающих и удобно для совместного пользования, когда вы спрашиваете команду Casbin за помощью.
Содержимое файла .CSV примеры/rbac_policy.csv:
p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
::note
Если ваш файл содержит запятые, , вы должны обернуть его в двойные кавычки, например:
p, alice, "data1,data2", читать --correct
p, alice, data1,data2, read --incorrect ("data1,data2" должен быть целым)
Если ваш файл содержит запятые, и двойные кавычки", необходимо вставить поле в двойные кавычки и двойные встраиваемые двойные кавычки.
p, впрочем, данные, "r.act в (""get"", ""post"")" --correct
p, впрочем, данные, "r.act в ("get", "post")" --incorrect (необходимо использовать "" для выхода "")
Похожие вопросы: casbin#886
:::
API адаптера
| Метод | Тип | Описание |
|---|---|---|
| LoadPolicy() | базовый | Загрузить все правила политики из хранилища |
| Сохранение политики () | базовый | Сохранить все правила политики в хранилище |
| AddPolicy() | опционально | Добавить правило политики в хранилище |
| Удалить политику() | опционально | Удалить правило политики из хранилища |
| УдалитьFilteredPolicy() | опционально | Удалить правила политики, соответствующие фильтру |
Формат хранилища данных
файл вашей политики
p, data2_admin, data2, чтение
p, data2_admin, data2, запись
g, alice, admin
соответствующая структура базы данных (Such as MySQL)
| id | ptype | х0 | в1 | в2 | v3 | v4 | v5 |
|---|---|---|---|---|---|---|---|
| 1 | п | data2_admin | данные2 | читать | |||
| 2 | п | data2_admin | данные2 | писать | |||
| 3 | г | альце | админ |
Значение каждого столбца
id: Только существует в базе данных в качестве первичного ключа. Не как частьполитики casbin. То, как она создается, зависит от конкретного адаптераptype: Это соответствуетp,g,g2, и т.д.v0-v5: Названия столбцов не имеют определенного значения, и соответствуют значениям в политикеcsvслева направо. Количество столбцов зависит от того, сколько вы определяете себя. Теоретически может быть бесконечное количество столбцов. Но обычно в адаптере реализованы только 6 столбцов. Если для вас этого недостаточно, отправьте вопрос в соответствующий репозиторий адаптера.
Детали адаптера
Более подробная информация об использовании api адаптера и конструкции таблиц базы данных, пожалуйста, перейдите по ссылке: /docs/ru/adapters