Задать вопрос
Ответы пользователя по тегу Программирование
  • Как применить ACL с целью ограничения доступа к коллекции?

    @vsadm
    Бессистемный архитектор
    В целом для проектирования систем доступа полезно руководствоваться принципами Orange Book. В вашем случае (не зная всех граничных условий) систему можно представить в виде:
    • Пользователей: субъекты, которые наделяются некоторыми полномочиями. В общем случае могут объединяться в группы или роли для удобства управления.
    • Ролей: роль не только группирует пользователей, но и позволяет добавить к ним некоторые атрибуты, применимые в контексте роли (как это часто делается в LDAP), например роль Город-менеджера добавит пользователю атрибут "ID города"
    • Полномочий: отдельные разрешения, могут объединяться в групы полномочий для удобства.
    • Объектов действия: элементы бизнес-логики, которые при применении полномочий меняют свое состояние. Также могут объединяться в группы.


    То есть, у пользователя с ролью Город-менеджера есть есть полномочия для группы "полный контроль" над группой объектов "пользователи с ID города таким-то".

    Конкретная реализация очень сильно зависит от того, что у вас за платформа, и какие под нее есть готовые библиотеки.
    Ответ написан