|
|
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Профи, подскажите, пожалуйста, как правильно спроектировать систему уровней доступа к нескольким проектам? Интересует , какие таблички БД создавать, и что в них должно храниться? Проектов предполагается пока 2. Далее , возможно , их количество будет увеличиваться. Таблица users (пользователи) одна у нескольких проектов. Предполагаю, что необходимо создать группы пользователей, и группам присваивать набор прав и полномочий. А вот как организовать дальнейшую логику? Что хранить у юзера? Название группы или какой-то сгенерированный определенным образом код, распарсив который, получаем определенные права? Хотелось бы услышать, как правильно решать такую задачу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 14:49 |
|
||
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
orsafХотелось бы услышать, как правильно решать такую задачу? Сначала надо бы составить список "что необходимо и при этом невозможно сделать SQL правами и RLS". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:09 |
|
||
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
А в дальнейшем будет все реализовываться в mysql, поэтому речи об RLS нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:26 |
|
||
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
orsafТаблица users (пользователи) одна у нескольких проектов. Предполагаю, что необходимо создать группы пользователей, и группам присваивать набор прав и полномочий. А вот как организовать дальнейшую логику? Что хранить у юзера? Название группы или какой-то сгенерированный определенным образом код, распарсив который, получаем определенные права? Хотелось бы услышать, как правильно решать такую задачу?Наверное, нужно сделать, как вы сами написали - таблицы: пользователей, групп, прав, связки пользователь-группа и связки группа-право ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:27 |
|
||
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
orsafХотелось бы услышать, как правильно решать такую задачу? В итоге д.б. одна (большая !) таблица соответствия ролей пользователей, функций программы и(или) групп объектов и способов доступа. Тогда по роли+ функции или объекту можно быстро вычислить возможный доступ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:41 |
|
||
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
у БД будут следующие ограничения: 1) один пользователь может принадлежать одновременно к разным группам в разных проектах (отсюда и вопрос был: что хранить у пользователя? возможно, надо хранить числовой код, определяющий набор прав, а не название группы? каким образом тогда его генерировать?) 2) у разных проектов будут разные группы, возможно, между собой не связанные. 3) есть проекты 3) есть группы 4) есть пользователи 5) есть роли (админ, юзер, ...) Основной вопрос - структура и организация данных в таблицах пользователей, групп, ролей и проектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 16:10 |
|
||
|
Как правильно организовать систему уровней доступа?
|
|||
|---|---|---|---|
|
#18+
orsafотсюда и вопрос был: что хранить у пользователя? возможно, надо хранить числовой код, определяющий набор прав, а не название группы? каким образом тогда его генерировать?Не пойму, чем классический вариант не устраивает, какие ещё коды? Хотя всё зависит от требований к системе, может, в итоге проще сводить всё к коду доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 18:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37850474&tid=1541632]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 460ms |

| 0 / 0 |
