|
|
|
Права на доступ к процедуре
|
|||
|---|---|---|---|
|
#18+
Всем привет! Ребят, есть проблема, не поможете? Итак. Использую IB6. Есть процедура makeupdate, которая вызывает процедуру upd_deleted. Всё работает. Присваиваю makeupdate права на запуск upd_deleted: grant execute on procedure upd_deleted to makeupdate; создаю роль: create role role_for_updates; Присваиваю роли права на зупуск makeupdate: grant execute on procedure makeupdate to role_for_updates; Присваиваю роль пользователю USER1 (был создан): grant role_for_updates to USER1; Подсоединяюсь к БД пользователем USER1, указываю роль role_for_updates Пробую выполнить makeupdate: execute procedure makeupdate('01-JAN-2003 00:00'); Выдаётся сообщение об ошибке, что у данного пользователя нет прав на запуск процедуры upd_deleted (!!!). Смотрю права в rdb$user_privileges - всё нормально: 1. У makeupdate права на запуск upd_deleted 2. У role_for_updates права на запуск makeupdate 3. USER1 член роли role_for_updates В чём ошибка, не подскажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2003, 20:03 |
|
||
|
Права на доступ к процедуре
|
|||
|---|---|---|---|
|
#18+
Может нужно на обе процедуры роли права предоставить. Дока про это умалчивает. А ещё лучше - спроси на news://forums.demo.ru/epsylon.public.interbase Я и сам охотно почитаю, что ответят ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 13:11 |
|
||
|
Права на доступ к процедуре
|
|||
|---|---|---|---|
|
#18+
Вот что ответили - всё заработало: >> Есть процедура makeupdate, которая вызывает процедуру upd_deleted. Всё >> работает. >> >> Присваиваю makeupdate права на запуск upd_deleted: >> grant execute on procedure upd_deleted to makeupdate; >и получаешь граблями по башке. >grant execute on procedure upd_deleted to PROCEDURE makeupdate; >в твоем случае ты дал право выполнять процедуру upd_deleted >ПОЛЬЗОВАТЕЛЮ с именем makeupdate. >-- >Dmitri Kouzmenko, www.ibase.ru, 953-13-34 Кстати, в книге Ковязина-Вострикова ошибка тогда (стр.367) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:31 |
|
||
|
Права на доступ к процедуре
|
|||
|---|---|---|---|
|
#18+
С ролями не пробовал, но с пользователем такое вполне проходит: SP1-ой grant на SP2-ую User-у grant на SP1-ую User - выполняет SP1-ую, SP1-ая вызывает SP2-ую, и все ОК. --- ...Стоп, твоя ошибка кажись вот где: Не grant execute on procedure upd_deleted to makeupdate; , надо grant execute on procedure upd_deleted to procedure makeupdate; Иначе право выделяется не процедуре makeupdate, а несуществующему (скорее всего) пользователю с логином makeupdate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 15:34 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32177533&tid=1580417]: |
0ms |
get settings: |
11ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 537ms |

| 0 / 0 |
