Структура группы ACL: сверху вниз или снизу вверх? - PullRequest
2 голосов
/ 03 июня 2010

Я собрал в своем приложении систему разрешений ACL , и теперь мне интересно, как ее лучше использовать, особенно в отношении групп пользователей. В простейшей форме будет несколько групп «ролей» («администраторы», «редакторы», «пользователи» и т. Д.), И все пользователи будут принадлежать к одной из этих групп.

Мой вопрос: по вашему опыту, лучше ли * структурировать дерево ARO, чтобы иметь наибольшее количество разрешений сверху и удалять их по мере спуска (1) или иметь наименьшее количество разрешений сверху и добавлять их когда вы спускаетесь (2).

(1):
- Admins          allow all
  - Editors       deny create, delete
    - Users       deny update

(2):
- Users           allow read
  - Editors       allow update
    - Admins      allow create, delete

Каковы плюсы и минусы каждого?

1 Ответ

1 голос
/ 21 декабря 2011

Я думаю, что вы спрашиваете: «Должен ли пользователь быть администратором без различных способностей, или администратор должен быть пользователем с дополнительными способностями». Я думаю, с точки зрения моделирования, лучше иметь пользователя с правами администратора.

Кроме того, важно подумать о том, что может пойти не так. Если во внедрении системы была какая-то неверная конфигурация, было бы лучше защитить риск отказать кому-либо в доступе к тому, что он должен был сделать, а не позволить кому-то получить доступ к тому, к чему у него не должно быть доступа

Таким образом, я думаю, что ваш второй пример лучше. Более безопасно структурировать вашу систему с точки зрения предоставления разрешений, а не их отказа.

...