|
|
|
определение прав доступа
|
|||
|---|---|---|---|
|
#18+
Такой вот глупый вопрос: Как программа может определить имеет она права на запись в такую-то таблицу (права запуска такой-то процедуры) или нет до выполнения собственно запроса? Наверняка есть какие-то стандартные решения. Программа пишется на Delphi. Более подробно: есть две роли - одна write+read, другая только read. Разным юзверам нужны разные роли (т.е. всего 2 группы юзверов). Программа одна. Не писать же для каждого действия проверку "можно или нет записать"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 16:50:51 |
|
||
|
определение прав доступа
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. Если 0 - нет права на SELECT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 17:30:45 |
|
||
|
определение прав доступа
|
|||
|---|---|---|---|
|
#18+
Прочел невнимательно: Пропустил фразу Не писать же для каждого действия проверку "можно или нет записать"? P.S. Обрабатывай ошибку и выдавай клиенту сообщение вида "Нет прав на выполнение операции" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 17:35:02 |
|
||
|
определение прав доступа
|
|||
|---|---|---|---|
|
#18+
Создай в каком-нибудь файле проекта запись вида TProgOptions = Record UserCanChangePov: Boolean; UserCanChangeStatus: Boolean; UserCanChangeType: Boolean; UserCanChangeCall: Boolean; End; Var PO: TProgOptions; И при старте программы запроси привилегии, как указано выше (только мне кажется правильней использовать ALL_TAB_PRIVS). А дальше Query1.ReadOnly := Not PO.UserCanChangePov; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 17:45:42 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2770&tid=1990222]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
197ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 469ms |

| 0 / 0 |
