Перейти к основному контенту

Хранилище политики

В Касбине хранилище политики реализовано как адаптер.

Загрузить политику из .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)

idptypeх0в1в2v3v4v5
1пdata2_adminданные2читать
2пdata2_adminданные2писать
3гальцеадмин

Значение каждого столбца

  • id: Только существует в базе данных в качестве первичного ключа. Не является частью политики казино,. То, как он генерируется, зависит от конкретного адаптера

  • ptype: Это соответствует p, g, g2, и т.д.

  • v0-v5: Названия столбцов не имеют определенного значения, и соответствуют значениям в политике csv слева направо. Количество столбцов зависит от того, сколько вы определяете себя. Теоретически может быть бесконечное количество столбцов. Но обычно в адаптере реализованы только 6 столбцов. Если для вас этого недостаточно, отправьте вопрос в соответствующий репозиторий адаптера.

Детали адаптера

Подробнее об использовании api адаптера и конструкции таблиц баз данных, пожалуйста, перейдите по ссылке: /docs/adapters