Комментарии 8
Жуть.
1) я правильно понимаю что вы предлагаете ядро безопасности системы вынести из кода в нонейм разметку без подсветки и валидации в ide?
2) в коде библиотеки разнородные ключи сущностей имеют общий тип "строка". Это источник бесконечного числа ошибок и опечаток. В вашем случае это совсем печальные последствия создаст
Если важна подсветка в
IDE
, то для этого есть плагины, в которых можно еще и тесты проводить -casbin
достаточно популярная библиотека, которая при том же имеет и онлайн редактор, где так же есть подсветка синтаксиса и тесты.Паранойя иногда бывает полезна, но если есть такие сильные переживания, то предлагаю сходить и посмотреть кто использует
casbin
и некоторые вопросы и страхи отпадут сами собой))
Надеюсь, что смог ответить на все вопросы и Вы все же попробуете это решение, хотя бы в своих личных проектах.
Я соглашусь с комментарием. Недавно сам искал реализации иерархического RBAC + ABAC, наткнулся на Casbin, но декларация всего этого чуда в отдельных файлах будто не то, что подходит для оперирования 12 000 пользователями. Хочется чтобы отправил запрос в систему авторизации, а она дала либо ответ, что пользователю это можно, либо смогла добавить/удалить пользователя в нужную роль. Если есть хорошие open source решения, рассчитанные на чуть большее чем простая система авторизации, буду рад узнать!
Не могу сказать точно, но могу предложить посмотреть `open-fga`.
OpenFGA это как раз то, с чего я начал, дальше начал смотреть альтернативные open source реализации Google Zanzibar, в том числе Ory Keto, но пока кажется, что это оверхед. Попробуем запустить и положить на это гибрид RBAC+ABAC, может и опубликую потом результаты. Большое спасибо за предложение!
Так же вопрос))) Вы все ядро безопасности отдаете на валидацию ide))))
Приблуда отличная. На хабре даже была парочка статей лет этак 5 назад (пишу со смартфона, а на нем искать неудобно, так что сами поищите). Настраивал когда-то ABAC на несколько сотен пользователей. Не скажу, что с первого раза получилось, но получилось и в итоге остался доволен. Рекомендую
# Casbin — легко о сложном в авторизации