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