|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
Привет! Кто-нибудь здесь знает, как получить роль под которой вошел текущий пользователь в триггере. Например, я зашел так: connect my.gdb user MyUser password aaa role MyRole; В триггере я хочу проверить, является ли пользователем членом роли MyRole? Как я могу это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2003, 20:25 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
CURRENT_ROLE ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 07:20 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
Привет, что-то так не получается, и в списке зарезервированных слов InterBase ничего похожего нет. Не могли бы Вы объяснить поподробнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2003, 12:01 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
Помогите, плиз, ответ очень нужен! Неужели никто не знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2003, 11:42 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
Привет! Получить роль, которая была указана при коннекте похоже нельзя. Но можно из системних таблиц считать все роли пользователя: select rdb$user "User Name", rdb$relation_name "Role Name" from rdb$user_privileges where rdb$object_type = 13 and rdb$user = user; Если у пользователей всего одна роль, то это и будет решением ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2003, 12:35 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
К сожалению, у каждого пользователя не одна роль. :( Я уже думал об этом, но все равно спасибо. Могу добавить, что так как ролей у меня всего 5, у меня была идея сделать ХП возвращающую роль пользователя, вида Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
где на процедуры SYS_IS_xxx были права на запуск только у ххх. Но вот почему-то IB не заходит в блок WHEN ANY, а сразу ругается no permission итп.. Да и вариант мне этот не нравится с чисто теоретической точки зрения. Если ролей будет побольше, то это по-моему не выход. Вот такие пироги. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2003, 12:46 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
Столкнулся с той же проблемой :). Только у меня ролей побольше будет - с десяток. А эксепшны, нафиг, я вообще не сторонник использования исключительных ситуаций в подобных целях. Насколько я понял, ответ не найден? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2003, 11:52 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
К сожалению, решения пока нет :( И здешние пока молчат. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2003, 14:23 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
Как-то безнадежно все очень кажется. Меня уже сроки поджимать начинают. Видимо придется эксепшенами делать, раз ничего красивого никто не знает. Тогда возникает такой ВОПРОС: Может кто объяснит почему вариант с эксепшнами(см. выше) не работает? То есть даже на таком простом коде в процедуре или в триггере: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
если пользователь не имеет прав доступа к процедуре SYS_IS_ADMINROLE, то в блок WHEN ANY управление не передается, а возникает исключение - no permission. Хотя, насколько я понимаю, exception должен обрабатываться в WHEN ANY и дальше не проходить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2003, 17:27 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
У меня на FB 1.0 все работает... например Код: plaintext 1.
в первом столбце выдает имя роли или "NONE" если нет ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2003, 07:05 |
|
Получение роли текущего пользователя
|
|||
---|---|---|---|
#18+
А если так! Заводишь таблицу в которой переписываешь всех пользователей по логинам в IB. кроме того можно там хранить личные настройки и всякую лабуду про пользователя,, и делаешь там поле ROLE или что то типа. При конекте правишь это поле ролью которой законектился юзерь. А в тригере считываешь. Ясен перец что если несколько пользователей зайдут под одним логином но разной ролью работать будет не правильно. P. S. На самом деле в FB 1.0 исть CURRENT_USER но до перехода на FB пользовал выше указанный вариант. База была маленькая пользователей мало проблем не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2003, 08:54 |
|
|
start [/forum/topic.php?fid=40&msg=32110029&tid=1580817]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 302ms |
total: | 568ms |
0 / 0 |