CftClub.ru
Клуб специалистов ЦФТ-Банк

Смена группы доступа программным путем
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Администрирование доступа и журналирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеСб Ноя 10, 2012 06:30   Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
Возможно ли вообще такое? Доступ в ИБСО касательно ритейла как то не очень удобно организован. Поясню. Есть много городов, в каждом городе много отделений. Работники отделений города работают по плавающему графику.

Если например использовать группу с доступом по рекивзиту подразделения (например операционист должен видеть документы только своего подразделения, ну и счета касс тоже), то делаю группы Отделение1, Отделение2 (там протыкнуты ТБП и отделения).

Соотвественно когда идет ротация - надо зайти в каждого перепривязать эту группу, в пользователях выставить подразделение? Кто-нибудь решал эту проблему или чисто так и сидеть перетаскивать? В идеале бы пользователь должен выбирать отделение где он сегодня из списка доступных (как В RBS). Буду благодарен за любые идеи. Сидеть каждый день даже на 100 человек (а их больше) заниматься перетаскиванием групп - это жесткач просто.
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеСб Ноя 10, 2012 07:40   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
Gobur пишет:
Возможно ли вообще такое?

Запрограммировать можно все, за исключением искусственного интеллекта.
Смотри пакет SECURITY, смотри в БД структуру таблиц доступа.
molokov
Участник со стажем


Вступление в Клуб: 28.09.2007
СообщениеПн Ноя 12, 2012 07:40   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: 2
этого будеть достаточно чтобы самому организовать то что нужно.

SecAdmin.Insert_User_To_Group(логин пользователя,'короткое имя группы');

SecAdmin.Delete_User_From_Group(логин пользователя,'короткое имя группы');

узнать какие права есть у пользователя :
SELECT USERNAME R
FROM ibs.subj_equal su, ibs.users u
WHERE su.subj_id <> su.equal_id
AND su.subj_id = su.owner_id
AND su.equal_id = u.USERNAME
AND su.subj_id = 'имя пользователя'


Gobur пишет:
Возможно ли вообще такое? .
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеПн Ноя 12, 2012 08:22   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
molokov пишет:
этого будеть достаточно чтобы самому организовать то что нужно.

SecAdmin.Insert_User_To_Group(логин пользователя,'короткое имя группы');

SecAdmin.Delete_User_From_Group(логин пользователя,'короткое имя группы');

узнать какие права есть у пользователя :


Gobur пишет:
Возможно ли вообще такое? .


Спасибо, единственно не понял нужен ли после этого дисконнект для обновления контекста?

Вообще вроде бы в операции редактирования пользователя есть об этом )
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеСр Ноя 14, 2012 16:36   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
Частная задача: заменить юзеру его подразделение
Такой синтаксис корректен?

Код:

locate Ref_User in ::[USER] where Ref_User = 12345;
stdio.put_line_buf('<% PLPCALL [USER].[EDIT#AUTO](
        P#DEPART => '''||to_char(New_DEPART)||'''
    )%>');      


У меня сомнение, правильно ли указан экземпляр для изменения...
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеСр Ноя 14, 2012 21:12   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
garsia пишет:
Частная задача: заменить юзеру его подразделение
Такой синтаксис корректен?

Код:

locate Ref_User in ::[USER] where Ref_User = 12345;
stdio.put_line_buf('<% PLPCALL [USER].[EDIT#AUTO](
        P#DEPART => '''||to_char(New_DEPART)||'''
    )%>');      


У меня сомнение, правильно ли указан экземпляр для изменения...


Так то у тебя форма откроется - есть ли смысл?

не проще кусок текста вставить в операцию, который подразделение меняет из той же операции редактирования юзера


Код:
  -- BS00083081 - Закрытие сессий пользователя при смене его подразделения
 

    if nvl(Ref_User.[DEPART]%id, 0) != nvl(NewDepart, 0)  then
       is_dep_ch := true;         
    end if;

   Ref_User.[DEPART] :=NewDepart;
   Ref_User.[FILIAL] := nvl(NewDepart.[FILIAL], ::[SYSTEM].[VARIABLES].OurBranch);

   if is_dep_ch then
      commit; -- BS00157077
      rtl.send_events(9, 'CLOSE', P#USERNAME);
   end if;
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеЧт Ноя 15, 2012 07:48   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
Спасибо! )
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеПт Ноя 16, 2012 09:12   Re: Смена группы доступа программным путем Ответить с цитатой
Полезность: Нет оценки
molokov пишет:

SecAdmin.Insert_User_To_Group(логин пользователя,'короткое имя группы');
SecAdmin.Delete_User_From_Group(логин пользователя,'короткое имя группы');
Gobur пишет:
Возможно ли вообще такое? .


Спасибо за наводку, все работает! - Но только под админом.

Делаю то же самое, для созданного с нуля пользователя - ругается на отсутствие прав на эти операции.
Пакета SecAdmin в словаре нет, хотя обращения к нему есть в других операциях - кадры, пластики...
Как дать доступ к этому пакету не администратору, штатными средствами?
lexus
Профи


Вступление в Клуб: 28.09.2007
СообщениеПт Ноя 16, 2012 09:40    Ответить с цитатой
Полезность: Нет оценки
Дать ему оракловую роль IBS_UADMIN.
Либо в админе доступа поставить галку Администратор доступа этому пользователю
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеПт Ноя 16, 2012 09:47    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
Дать ему оракловую роль IBS_UADMIN.
Либо в админе доступа поставить галку Администратор доступа этому пользователю

штатными токо галочку поставить? Но тут проблема с лицензиями может быть . Если же чисто через оракл раздавать - тогда уж роли Connect проще дать гранты на запуск пакета (но как это при обновлениях скажется?)
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеПт Ноя 16, 2012 09:50    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
Дать ему оракловую роль IBS_UADMIN.
Либо в админе доступа поставить галку Администратор доступа этому пользователю


Ну это уже перебор... Слипнеца у него! ))
Мы посоветовались, можно попробовать просто средствами Oracle дать грант на пакедж роли Connect.
Хотелось бы узнать, нет ли штатного способа в ИБСО.
lexus
Профи


Вступление в Клуб: 28.09.2007
СообщениеПт Ноя 16, 2012 11:36    Ответить с цитатой
Полезность: Нет оценки
штатными спрашивали же Smile
а так, да - хоть пользователю грант на исполнение пакета дайте да и все.
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеПт Ноя 16, 2012 12:04    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
штатными спрашивали же Smile
а так, да - хоть пользователю грант на исполнение пакета дайте да и все.


Дали...
Процедура выполняется, но дальше опять ругань на права, уже на другой строке.
Пакет закрыт - на что конкретно ругается - непонятно.
Точнее понятно, что пытается писать в какие-то таблицы и не может.
Таблицу с группами - добавил в права, но видимо еще какие-то объекты используются...
Под ИБС все работает...
lexus
Профи


Вступление в Клуб: 28.09.2007
СообщениеПт Ноя 16, 2012 17:40    Ответить с цитатой
Полезность: Нет оценки
покажите что за ругань, все-таки. стек есть?
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеЧт Ноя 29, 2012 21:24    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
покажите что за ругань, все-таки. стек есть?


по комментам спецов по ядру - в SECADMINE зашита проверка на то кто запускает, т.е. токо IBS может - так что даже если дать права - не прокатывает. Вроде как доп.защита от таких копателей)
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Администрирование доступа и журналирование Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru