Как реализовать многоуровневые иерархии в управлении пользователями - PullRequest
0 голосов
/ 16 ноября 2009

Внедрение многоуровневых иерархий, чтобы у суперпользователя были также все права, которыми обладает субпользователь, это означает, что суперпользователь также может управлять заданиями субпользователей.

Предположим, что в приложении может быть N пользовательских иерархий ...

  • Суперпользователь

    • Sub User

      • Sub User -1

Например, суб-пользователь является суперпользователем для суб-пользователя-1. Таким образом, суб-пользователь будет обрабатывать все задания своего супер-пользователя.

Как спроектировать базу данных для этого.

1 Ответ

5 голосов
/ 16 ноября 2009

Я думаю, что вы, возможно, ищете библиотеку ACL.

ACL обозначает Список контроля доступа. он использует 2 «подмодели», называемые ARO и ACO.

Аро - это то, что «запрашивает данные» - например, пользователь / группа (и может быть структурирован как дерево с использованием вложенных множеств или простое рекурсивное дерево [parent_id]).

Aco - это то, что запрашивается - определенная модель, страница, функция - что угодно.

затем вы комбинируете два (aco и aro) для создания ACL - в основном, говоря: «этот пользователь / группа может / не может использовать эту модель / страницу»

В соответствии с вашими тегами я вижу, что вы ищете решение для PHP / MySQL - поэтому phpGACL может быть вам очень полезен: http://phpgacl.sourceforge.net/

Это полная «структура» для управления ACL, которую вы можете легко объединить в свое приложение (как бы оно ни было структурировано).

Надежда, которая немного помогла вам - или, по крайней мере, указала вам правильное направление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...