Oracle 身份验证不起作用?
Oracle authentication not working?
我实现了一个注销按钮,用于从网页注销用户。服务器是 Oracle HTTP 服务器。
单击“注销”时,它会执行以下程序
PROCEDURE log_me_off IS
BEGIN
-- Open the HTTP header
owa_util.mime_header('text/html', FALSE, NULL);
-- Send a cookie to logout
owa_cookie.send('WDB_GATEWAY_LOGOUT', 'YES', path=>'/');
-- Close the HTTP header
owa_util.http_header_close;
-- Generate the page
htp.p('
<head>
<script type = "text/javascript" >
history.pushState(null, null, ''xna_hpms_ui.log_me_off'');
window.addEventListener(''popstate'', function(event) {
history.pushState(null, null, ''xna_hpms_ui.log_me_off'');
});
</script>
</head>
You have been logged off from the WEBSITE');
htp.anchor( 'http://www.google.com', 'click here to login a');
htp.p('<BR>bye');
END;
END;
/
我引用的文档:https://docs.oracle.com/cd/B13789_01/server.101/b12303/secure.htm
问题:
在 Chrome 中,当我单击“注销”按钮时,它会注销用户,之后当用户尝试刷新或尝试在新选项卡中打开网页时,会出现提示询问对于登录凭据,如果用户单击取消并刷新选项卡,他将自动登录。虽然这种行为不在 IE 中。
当有许多选项卡打开并且用户单击“注销”按钮时,他将从当前页面注销,而当导航到其他选项卡时,如果他单击任何地方,他再次被网页要求输入凭据,而如果他单击“取消”并刷新页面,他在未输入凭据的情况下再次登录。
请帮忙
我建议使用自定义 OWA 和您自己的 cookie 作为对用户进行身份验证的方法。设置 DAD 以使用 custom_owa 授权模式。然后在您的架构中创建 custom_owa.authorize package/function。
custom_owa.authorize函数将在每个页面被访问之前被调用。如果 return 为真,则请求被批准。如果为 false,则请求被拒绝。
这让您可以完全控制谁可以访问什么。因此,您要做的就是在有人登录您的网站时设置您自己的 cookie。然后在 custom_owa.authorize 中检查 cookie 并 return 相应地判断真假。
当有人注销时,销毁 cookie 或使其过期。
我实现了一个注销按钮,用于从网页注销用户。服务器是 Oracle HTTP 服务器。
单击“注销”时,它会执行以下程序
PROCEDURE log_me_off IS
BEGIN
-- Open the HTTP header
owa_util.mime_header('text/html', FALSE, NULL);
-- Send a cookie to logout
owa_cookie.send('WDB_GATEWAY_LOGOUT', 'YES', path=>'/');
-- Close the HTTP header
owa_util.http_header_close;
-- Generate the page
htp.p('
<head>
<script type = "text/javascript" >
history.pushState(null, null, ''xna_hpms_ui.log_me_off'');
window.addEventListener(''popstate'', function(event) {
history.pushState(null, null, ''xna_hpms_ui.log_me_off'');
});
</script>
</head>
You have been logged off from the WEBSITE');
htp.anchor( 'http://www.google.com', 'click here to login a');
htp.p('<BR>bye');
END;
END;
/
我引用的文档:https://docs.oracle.com/cd/B13789_01/server.101/b12303/secure.htm
问题:
在 Chrome 中,当我单击“注销”按钮时,它会注销用户,之后当用户尝试刷新或尝试在新选项卡中打开网页时,会出现提示询问对于登录凭据,如果用户单击取消并刷新选项卡,他将自动登录。虽然这种行为不在 IE 中。
当有许多选项卡打开并且用户单击“注销”按钮时,他将从当前页面注销,而当导航到其他选项卡时,如果他单击任何地方,他再次被网页要求输入凭据,而如果他单击“取消”并刷新页面,他在未输入凭据的情况下再次登录。
请帮忙
我建议使用自定义 OWA 和您自己的 cookie 作为对用户进行身份验证的方法。设置 DAD 以使用 custom_owa 授权模式。然后在您的架构中创建 custom_owa.authorize package/function。
custom_owa.authorize函数将在每个页面被访问之前被调用。如果 return 为真,则请求被批准。如果为 false,则请求被拒绝。
这让您可以完全控制谁可以访问什么。因此,您要做的就是在有人登录您的网站时设置您自己的 cookie。然后在 custom_owa.authorize 中检查 cookie 并 return 相应地判断真假。
当有人注销时,销毁 cookie 或使其过期。