2 / 2 / 1
Регистрация: 21.12.2012
Сообщений: 53
|
|
1 | |
Организация политик и прав доступа к БД23.10.2015, 15:38. Показов 974. Ответов 8
Метки нет (Все метки)
Вот задался недавеча вопросом. Может кто в курсе, правильно ли будет проверку прав доступа делать при каждом обращении к какому-либо элементу либо при загрузке приложения сразу определить?
но тут же может возникнуть вопрос, а если в какой-нить форме есть какой-нить Тлист, который не просто привязан к запросу, а меняется по ходу программы. И естественно каждый раз надо проверять из БД права. Конечно можно какую табличку сбацать но... Вопрос - правильно ли что права проверяются по ходу работы приложения ?
0
|
23.10.2015, 15:38 | |
Ответы с готовыми решениями:
8
Разделение прав доступа Задание прав доступа Настройка прав доступа Настройка прав доступа |
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
23.10.2015, 16:33 | 3 |
И пусть себе меняется на здоровье ..
Но как только будет попытка сохранения изменений БД - вот тут сервер должен дать отлуп (в виде исключения или или еще каким-то образом - не суть как важно), если на момент попытки у инициатора изменений не оказалось достаточных привелегий на выполнение данной операции. Ну это как вариант, довольно простой и удобный при 3-хзвенной архитектуре. При 2-хзвенной дело осложняется - проверку наличия привелегий придется выполнять либо на стороне СУБД в триггерах и ХП (если они там вообще возможны и используются) либо на стороне приложения- "толстого клиента" (что размазывает бизнес-логику, делает ее хлипкой и ненадежной, добавляет немало геморроя при сопровождении и масштабирования системы в целом)
1
|
2 / 2 / 1
Регистрация: 21.12.2012
Сообщений: 53
|
|
23.10.2015, 21:40 [ТС] | 4 |
... итак, чтоб каждый раз не обращаться на сервер MySQL за "а можно? ну пжалста"-неа или ок". У меня есть исходная "таблица", кот-я получается путем выборки данных из нескольких таблиц (права для тек.пользователя). Эта табличка получается используя запрос (назовём MyQuery). И не буду его закрывать. Ведь результат же будет на клиенте. Не буду менять SQL.Text. в моем myQuery буду фильтровать в нужные моменты, тем самым определяя можно или нет какое либо действие. Главное я так понял, что надо после запрета/исполнения, это возвращать myQuery в обратное состояние. Но-фильтровка пусть и на клиенте не вызовет ли сильного торможения? Но вообще читал,что лучше myTable применять если на клиенте выборки делаешь. Может в myTable загнать при загрузке права? И если идти таким путем- красиво получится-поменял права если надо.Перезапустил базульку. вроде так принято...
0
|
2 / 2 / 1
Регистрация: 21.12.2012
Сообщений: 53
|
|
17.12.2015, 11:21 [ТС] | 5 |
Хочу в обыкновенный ТриЛист загрузить дерево компонентов.Может у кого есть пример? Или хотя бы построить на основе СтрингГрида ТриЛист. В стрингГриде есть-ключевое поле ID и родительское IDPar ну и имя компонента. Не хочу использовать БД.
Добавлено через 19 минут в Delphi
0
|
2 / 2 / 1
Регистрация: 21.12.2012
Сообщений: 53
|
|
17.12.2015, 12:33 [ТС] | 7 |
дерево компонентов пусть хоть на текущей форме. всех компонентов на форме для начала.
типа такого. может есть пример построения TreeList из допустим имеющегося StringGrid, где есть ключ.поле и родительское (условно)?
0
|
2 / 2 / 1
Регистрация: 21.12.2012
Сообщений: 53
|
|||||||||||
17.12.2015, 23:24 [ТС] | 9 | ||||||||||
получилось . теперь только нюансы да ограничения всякие...
0
|
17.12.2015, 23:24 | |
17.12.2015, 23:24 | |
Помогаю со студенческими работами здесь
9
Ошибка прав доступа Нарушение прав доступа... Распределение прав доступа Нарушение прав доступа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |