Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 sysproc.auth_list_groups_for_authid  [new]
BuryCommoner
Member

Откуда:
Сообщений: 177
Проблема с получение групп пользователя:
select * from table(sysproc.auth_list_groups_for_authid(session_user))

Пользователь в ОС заведён маленькими буквами, а регистр session_user возвращает строку заглавными. Как-нибудь можно это обойти, не пересоздавая пользователя в ОС?

Windows XP, DB2 Express 9.7.

---------------------------------------------------------
IS NULL OR NOT IS NULL
18 окт 12, 11:34    [13339095]     Ответить | Цитировать Сообщить модератору
 Re: sysproc.auth_list_groups_for_authid  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4947
BuryCommoner,

Проблема-то в чём?
Оно не выдаёт список групп, в которые пользователь вроде бы входит?
18 окт 12, 15:48    [13341402]     Ответить | Цитировать Сообщить модератору
 Re: sysproc.auth_list_groups_for_authid  [new]
местный
Guest
BuryCommoner,
UPPER (*)
18 окт 12, 22:39    [13343580]     Ответить | Цитировать Сообщить модератору
 Re: sysproc.auth_list_groups_for_authid  [new]
BuryCommoner
Member

Откуда:
Сообщений: 177
автор
Проблема-то в чём?
Оно не выдаёт список групп, в которые пользователь вроде бы входит?

Да. Есть пользователь BANK3U1 и alex. У первого всегда группы все выводит. У второго только если параметром подсунуть "alex", а не "ALEX" из session_user. Конечно, можно сделать lcase(), но что делать, если пользователь, например, будет "Alex"?
19 окт 12, 04:50    [13344091]     Ответить | Цитировать Сообщить модератору
 Re: sysproc.auth_list_groups_for_authid  [new]
BuryCommoner
Member

Откуда:
Сообщений: 177
Прошу прощения за панику. Почему-то сегодня работает при любом регистре параметра, хотя вчера я точно проверял и не работало. Странно.
19 окт 12, 05:00    [13344093]     Ответить | Цитировать Сообщить модератору
 Re: sysproc.auth_list_groups_for_authid  [new]
BuryCommoner
Member

Откуда:
Сообщений: 177
Кое что накопал. Вот, например, есть пользователь "alex", он состоит в двух группах: ROPE_USERS и BANK_USERS.
select * from table(sysproc.auth_list_groups_for_authid(?))

при любом написании имени пользователя выдаёт обе группы.
Теперь я исключил пользователя из обеих групп в ОС.
Запросы:
select * from table(sysproc.auth_list_groups_for_authid('Alex'))
select * from table(sysproc.auth_list_groups_for_authid('ALEX'))

всё ещё возвращают две группы, а запрос:
select * from table(sysproc.auth_list_groups_for_authid('alex'))

ничего не возвращает, что есть правильно на текущий момент.
И так будет, судя по всему, до какого момента времени, когда СУБД окончательно синхронизирует группы пользователя с ОС.
Непонятно.
19 окт 12, 05:11    [13344097]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить