如果您在APEX中有自定义身份验证,则可以在自己的自定义用户表上创建表单。
我的问题是,当登录用户更改自己的用户名时,APEX会变为总wookiee。
所以我尝试制作一个触发器(至少我希望)重置用户名变量:
触发器代码 注意:此触发器是在不在桌面上的视图上进行的
CREATE OR REPLACE TRIGGER t_change_student
INSTEAD OF UPDATE ON view_student
BEGIN
UPDATE user SET email = :new.email, password = :new.password WHERE email = LOWER(:old.email);
UPDATE student SET fk_study = :new.fk_study, name = :new.name, bsn = :new.bsn WHERE pk_huurder = :new.pk_huurder;
APEX_UTIL.SET_USERNAME(
p_userid => APEX_UTIL.GET_USER_ID(:old.email),
P_username => :new.email);
-- :APP_USER := :new.email;
-- apex_authentication.send_login_username_cookie (p_username => lower(:new.email) );
-- apex_application.g_user := :new.email;
END;
但是当我更改用户名时:APP_USER仍包含旧用户名。那么如何设置:APP_USER?
答案 0 :(得分:0)
我认为你的问题是你试图从触发器内部改变它,你需要从顶点会话中做到这一点。尝试在您的顶点页面中创建 Onload 进程,并使用wwv_flow.g_user:=new_email
更改登录用户。