Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
таблицы и алгоритм для системы управления правами групп
|
|||
|---|---|---|---|
|
#18+
Нужно написать систему управления правами групп для модулей системы. думаю реализовать следующим образом: таблица модулей: id obj_name таблица модулей: id group_name таблица прав групп: id group_id obj_id rigth (bit) .. в эту таблицу возможно будут добавлены поля, для вида прав на данный модуль (на данный момент на каждый модуль они — полные) при создании новой группы, в таблицу прав групп будут добавляться записи с правами на все существующие модули, а, при создании нового модуля, его запись будет также добавляться для каждой группы. Чтобы отобразить список групп с правами, я планирую использовать GridView, со строками вида: название группы|список прав на модули с чекбоксом для каждого модуля. для списка список прав с чекбоксами будет реализован CheckBoxList. ---- Подскажите, допустил ли я при проектировании какие-то ошибки в плане реализации и возможности дальнейшего расширения программы? Как можно было бы реализовать задачу лучшим образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 22:47 |
|
||
|
таблицы и алгоритм для системы управления правами групп
|
|||
|---|---|---|---|
|
#18+
Я бы из третьей таблицы убрал поле rigth (зачем собственно оно нужно? есть запись — есть доступ, нет записи — нету доступа) и ID, и оставил составной ключ из пользователя и группы (тогда избежишь лишних проверок на совпадение данных). Еще для себя иногда я делал битовое поле в таблице объектов для указания общих вседоступных объектов. Правда потом отказался это делать — большого смысла в такой идеологии нет. Еще — по алгоритму. При создании пользователя или группы необходимо давать минимальные права . При создании модуля, прав никому не давать . Тогда избежишь многих ошибок с доступами. Мало-ли как будет — создал ты модуль или пользователя, отвлекся, и забыл про него. А права у него максимальные. Пользователь с минимальными правами к тебе тут-же прибежит, и это отследить можно. Пользователь-же с максимальными правами ничего не заметит, а проблемы потом возникнуть могут. Для отображения списка ролей я использовал обычный repeater, при щелчке на роль проваливался в такой-же repiter, но уже со списком ролей и с checkbox'ами, отмеченными в соответствии с правами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 08:35 |
|
||
|
таблицы и алгоритм для системы управления правами групп
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Nikolay_Ch, Вы писали: N_C>Для отображения списка ролей я использовал обычный repeater, при щелчке на роль проваливался в такой-же repiter, но уже со списком ролей и с checkbox'ами, отмеченными в соответствии с правами. --- При изменении прав предполагается выполнять соответствующее число команд INSERT или можно как-то вставить данные за один запрос (MSSQL 2000)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2006, 13:57 |
|
||
|
таблицы и алгоритм для системы управления правами групп
|
|||
|---|---|---|---|
|
#18+
ЗF>При изменении прав предполагается выполнять соответствующее число команд INSERT или можно как-то вставить данные за один запрос (MSSQL 2000)? Я делал через один. Тут надо балансировать. С одной стороны — в 2к нет параметризированного списка — т.е. когда в in передаешь параметр. Соответственно надо слеплять запрос, а этот путь может привести к хаку, через запросы. С другой стороны делать кучу инсертов — как-то неудобно... В принципе можно обойтись хранимкой, которая принимает на вход массив прав, и ты уже лепишь запрос в хранимке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2006, 15:36 |
|
||
|
таблицы и алгоритм для системы управления правами групп
|
|||
|---|---|---|---|
|
#18+
И вот по Repeater'у вопрос появился: как и в каком событие в моём случае обращаться к элементам checkBox'а (находящегося в Repeater'е, который в свою очередь — в GridView), при update GridView? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 16:07 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33945395&tid=1390163]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 339ms |

| 0 / 0 |
