create or replace function sys.student_pwd_verify_function(username varchar2
,password varchar2
,old_password varchar2)
return boolean is
begin
return password like '%#%' and lower(password) != lower(username);
end;
/
grant execute on sys.student_pwd_verify_function to public;
create profile student_profile
limit password_verify_function
student_pwd_verify_function container = current;
create user ivanov
identified by ivanov#
default tablespace users
temporary tablespace temp
profile student_profile;
Попытка сменить пароль на не подходящий под валидацию будет заканчиваться ошибкой:
ORA-28003: password verification for the specified password failed
"container = current" - для контейнерных БД.
⚠️ Все манипуляции выполняются под привилегированным пользователем.
Оговорюсь, что подобный вопрос, я ни разу не встречал на собеседовании. Задачка, скорее, для расширения кругозора.
Перетереть в чатике
#решениезадачи #profile