SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы
НазадМетки: архитектура программного обеспечения
В общем виде разграничение доступа выглядит как запрос субъектом прав на операции с объектом.
Таким образом создаётся матрица прав доступа. Матрица будет содержать большое количество строк. В таком случае применяется практика укрупнения и вводятся дополнительные матрицы для групп (группы объектов, группы пользователей, роли). Системы управления прав на основе ролей известны как RBAC (Role Based Access Control).
Противоположностью укрупнения может стать дробление. У каждого субъекта, объекта, действия и т.д могут быть дополнительные атрибуты. Своеобразным способом организации прав доступа на атрибутах является ABAC (Attribute-based access control). ABAC позиционируют как решение для деловой сферы, т.к. можно добавить реализацию проверки условий для атрибутов.
В качестве самой глобальной политики управления прав (политика по умолчанию) используют одну из двух основных политик:
Нельзя жёстко прописывать правила в коде. Это является существенной ошибкой новичков при разработке системы.