向用户发送选项以设置密码的 Oracle apex 功能
Oracle apex functionality to send users option to set password
我正在开发票务应用程序并使用以下函数使用自定义身份验证。
create or replace FUNCTION f_val_leave_user_issue(p_username IN VARCHAR2,
p_password IN VARCHAR2)
RETURN BOOLEAN IS
lv_char CHAR(1);
lv_cnt NUMBER;
BEGIN
SELECT 'x'
INTO lv_char
FROM p_it_people
WHERE upper(p_username) = upper(person_username)
AND p_password = person_password;
apex_util.set_authentication_result(0);
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
apex_util.set_authentication_result(4);
RETURN FALSE;
END f_val_leave_user_issue;
截至目前,它从 p_it_people table 中获取用户名和密码,我在登录页面中使用了这些用户名和密码。
我能否进一步自定义它,以便每当在 p_it_people 中创建新用户时,都会提示该用户设置自己的密码,设置后,该密码会自动存储在 p_it_people 中table??
您需要确保不要将数据库中的密码以明文形式保存。
我建议阅读此博客 post:https://blogs.oracle.com/apex/custom-authentication-and-authorization-using-built-in-apex-access-control-a-how-to
您只将密码的哈希值保存在数据库中,每次用户登录时,您都需要对其密码进行哈希处理并比较两个哈希值。
重置密码只是允许最终用户更改他保存的哈希密码。
我正在开发票务应用程序并使用以下函数使用自定义身份验证。
create or replace FUNCTION f_val_leave_user_issue(p_username IN VARCHAR2,
p_password IN VARCHAR2)
RETURN BOOLEAN IS
lv_char CHAR(1);
lv_cnt NUMBER;
BEGIN
SELECT 'x'
INTO lv_char
FROM p_it_people
WHERE upper(p_username) = upper(person_username)
AND p_password = person_password;
apex_util.set_authentication_result(0);
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
apex_util.set_authentication_result(4);
RETURN FALSE;
END f_val_leave_user_issue;
截至目前,它从 p_it_people table 中获取用户名和密码,我在登录页面中使用了这些用户名和密码。
我能否进一步自定义它,以便每当在 p_it_people 中创建新用户时,都会提示该用户设置自己的密码,设置后,该密码会自动存储在 p_it_people 中table??
您需要确保不要将数据库中的密码以明文形式保存。 我建议阅读此博客 post:https://blogs.oracle.com/apex/custom-authentication-and-authorization-using-built-in-apex-access-control-a-how-to
您只将密码的哈希值保存在数据库中,每次用户登录时,您都需要对其密码进行哈希处理并比较两个哈希值。
重置密码只是允许最终用户更改他保存的哈希密码。