|
|
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
Господа, не сердитесь, если вопрос окажется слишком ламерским. Ситуация такая: нужно сделать учебную базу. Будет 3 типа пользователей. Все сделал, на каждый тип по таблице, эти таблицы завязаны на таблицу с common_info (ну, понятно, что это такое), и все таблицы учавствуют в других связях для реализации собственно логики будущего приложения. Но тут я подумал, что было бы неплохо сделать этот момент конфигурируемым в рантайме. Т.е. к примеру если администратору приложения сильно захочется ввести новую типовую роль (на основе существующих трех, но с разграничением прав доступа) или, что еще лучше, разработчик приложения мог легко и быстро добавлять новые роли и имплементить бизнес-логику для них не изменяя существующую схему базы, а лишь добавляя новые таблицы... Надеюсь я доступно изложил свою мысль. Сейчас есть по таблице на роль. А хочется держать роли в виде записей в одной таблице. Есть ли типовые решения? Насколько они усложняют структуру базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 20:17 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
Измени принцип классификации пользователей. Нужно чтобы остался один класс пользователей, а различия объектов пусть определяются назначенными ролями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 20:48 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
несознательный...или, что еще лучше, разработчик приложения мог легко и быстро добавлять новые роли и имплементить бизнес-логику для них не изменяя существующую схему базы, а лишь добавляя новые таблицы... интересный момент ... если чесно - ничо не понятно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 20:49 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
mcureenabИзмени принцип классификации пользователей. Нужно чтобы остался один класс пользователей, а различия объектов пусть определяются назначенными ролями. Да, я тоже не совсем понял :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 21:11 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
гм... несознательный...или, что еще лучше, разработчик приложения мог легко и быстро добавлять новые роли и имплементить бизнес-логику для них не изменяя существующую схему базы, а лишь добавляя новые таблицы... интересный момент ... если чесно - ничо не понятно :( Двумя словами - более правильным видится хранение родлей в виде записей в таблице, а не в виде таблицы для каждой роли. В более правильном варианте роли могут одбавляться и удалятья без модификации структуры базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 21:17 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
Делается таблица пользователей, таблица ролей/прав и т.п., таблица связи пользователей с ролями. В этом случае структура универсально и админ может конфигурить права как хочет. Ещё не помешало бы ввести группы пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2007, 11:45 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
WaytacДелается таблица пользователей, таблица ролей/прав и т.п., таблица связи пользователей с ролями. В этом случае структура универсально и админ может конфигурить права как хочет. Ещё не помешало бы ввести группы пользователей. Или примерно так: 1. таблица ролей, 2. таблица пользователей (со ссылкой на роли) 3. таблица ресурсов к-ым предоставл. доступ (например: пункты меню приложения, какие-то сущности в БД и т.п.) 4. табл. связи многие-ко-многим между (1) и (3) Еще можно навертеть что-то на (3) (нормализацию по типам ресурсов например) и на (4) (например, тип доступа ЧИТАТЬ/ПИСАТЬ/УДАЛЯТЬ, или нормализовать тип доступа) и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2007, 12:41 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
Tyo WaytacДелается таблица пользователей, таблица ролей/прав и т.п., таблица связи пользователей с ролями. В этом случае структура универсально и админ может конфигурить права как хочет. Ещё не помешало бы ввести группы пользователей. Или примерно так: 1. таблица ролей, 2. таблица пользователей (со ссылкой на роли) 3. таблица ресурсов к-ым предоставл. доступ (например: пункты меню приложения, какие-то сущности в БД и т.п.) 4. табл. связи многие-ко-многим между (1) и (3) Еще можно навертеть что-то на (3) (нормализацию по типам ресурсов например) и на (4) (например, тип доступа ЧИТАТЬ/ПИСАТЬ/УДАЛЯТЬ, или нормализовать тип доступа) и т.п. 5. Тип доступа к ресурсам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2007, 13:14 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
MaryCat Tyo[quot Waytac] Еще можно навертеть что-то на (3) (нормализацию по типам ресурсов например) и на (4) (например, тип доступа ЧИТАТЬ/ПИСАТЬ/УДАЛЯТЬ, или нормализовать тип доступа) и т.п. 5. Тип доступа к ресурсам Ну дык и я про то же -- "нормализовать тип доступа" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2007, 13:45 |
|
||
|
Пользователи, роли и права.
|
|||
|---|---|---|---|
|
#18+
У меня получилась такая хрень для разграничения прав вкупе с настройкой форм клиента на отдельные роли. Т.е. каждая роль может видеть только свой кусочек в общем массиве данных. Формы приложения настраиваются рантайм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 08:38 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34345693&tid=1544720]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 476ms |

| 0 / 0 |
