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

а как вытащить PASSWORD_CHANGE_DATE в расширение

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
kaa
Участник со стажем


Вступление в Клуб: 20.01.2020
СообщениеСб Дек 24, 2022 12:48   а как вытащить PASSWORD_CHANGE_DATE в расширение Ответить с цитатой
Полезность: Нет оценки
представления пользователей
из dba_users
-PASSWORD_CHANGE_DATE
-LAST_LOGIN

через PL|SQL чот не получилось
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеСр Дек 28, 2022 14:48    Ответить с цитатой
Полезность: 1
В библиотеке объявить public переменную
Код:
type t_dba_users is varray(0) of dba_users%rowtype;

Создать функцию, возвращающую данные из этой таблицы
Код:
public function g_dba_users return t_dba_users is
r dba_users%rowtype;
begin
  for (
    select u(
                 u.username : username
                ,u.user_id : user_id
                 …
                )
    in dba_users%rowtype
  ) loop
         r. username := u.username;
         r.user_id := user_id;
         …
         return r;
   еnd loop;
end;


В представлении
Код:
 select … in ::[].[LIB].g_dba_users
kaa
Участник со стажем


Вступление в Клуб: 20.01.2020
СообщениеСб Янв 07, 2023 22:45    Ответить с цитатой
Полезность: Нет оценки
о! спасибо.
сделал:
Код:
public function userLastLogin(z ref [USER]) return varchar2(30) is
dt   date;
begin
   begin
      select u(u.LAST_LOGIN)
       in dba_users%rowtype
       where u.username = z.username
       INTO dt;
    exception
      when NO_DATA_FOUND then NULL;
      when OTHERS then NULL;
   end;
   return to_char(dt,'DD/MM/YYYY HH24:MI:SS');
end;

public function user_PASSWORD_CHANGE_DATE(z ref [USER]) return varchar2(30) is
dt   date;
begin
   begin
      select u(u.PASSWORD_CHANGE_DATE)
       in dba_users%rowtype
       where u.username = z.username
       INTO dt;
    exception
      when NO_DATA_FOUND then NULL;
      when OTHERS then NULL;
   end;
   return to_char(dt,'DD/MM/YYYY HH24:MI:SS');
end;

public function user_LOCK_DATE(z ref [USER]) return varchar2(30) is
dt   date;
begin
   begin
      select u(u.LOCK_DATE)
       in dba_users%rowtype
       where u.username = z.username
       INTO dt;
    exception
      when NO_DATA_FOUND then NULL;
      when OTHERS then NULL;
   end;
   return to_char(dt,'DD/MM/YYYY HH24:MI:SS');
end;

public function user_EXPIRY_DATE(z ref [USER]) return varchar2(30) is
dt   date;
begin
   begin
      select u(u.EXPIRY_DATE)
       in dba_users%rowtype
       where u.username = z.username
       INTO dt;
    exception
      when NO_DATA_FOUND then NULL;
      when OTHERS then NULL;
   end;
   return to_char(dt,'DD/MM/YYYY HH24:MI:SS');
end;

public function user_CREATED(z ref [USER]) return varchar2(30) is
dt   date;
begin
   begin
      select u(u.CREATED)
       in dba_users%rowtype
       where u.username = z.username
       INTO dt;
    exception
      when NO_DATA_FOUND then NULL;
      when OTHERS then NULL;
   end;
   return to_char(dt,'DD/MM/YYYY HH24:MI:SS');
end;



добавил еще полей нужных

не оптимизировано правда, но работает )

а вот как сделать разблокировку пользователя, задание ему нового пароля и сделать как будто истек пасс?
на орагле я делал так:
Код:
alter user username account unlock;
alter user username IDENTIFIED BY A12345678;
alter user username password expire;
commit;


а делаю в операции begin pl/sql

у меня операция становится в PROCESSED и не работает ((
Blackmore64
Профи


Вступление в Клуб: 17.01.2017
СообщениеВт Янв 10, 2023 12:06    Ответить с цитатой
Полезность: 1
Посмотрите в текстах операций использование процедуры Secadmin.EditUser или сам пакет или поиск по форуму EditUser
kaa
Участник со стажем


Вступление в Клуб: 20.01.2020
СообщениеСр Мар 08, 2023 02:08    Ответить с цитатой
Полезность: Нет оценки
получилось:
Код:

     secadmin.EditUser(this.[USERNAME],null,LockStatus=='TO_EXPIRE');
     secadmin.EditUser(this.[USERNAME],null,UserPass==P_NEW_PSWD);
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

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