Oracle身份验证不起作用?

Oracle身份验证不起作用?,oracle,plsql,oracle11g,procedure,mod-plsql,Oracle,Plsql,Oracle11g,Procedure,Mod Plsql,我实现了一个注销按钮,可以从网页中注销用户。服务器是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=&

我实现了一个注销按钮,可以从网页中注销用户。服务器是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;
/
过程日志已关闭
开始
--打开HTTP头
owa_util.mime_头('text/html',FALSE,NULL);
--发送cookie以注销
owa_cookie.send('WDB_网关_注销','YES',path=>'/');
--关闭HTTP头
owa_util.http_头\u关闭;
--生成页面
htp.p('
history.pushState(null,null,“xna\u hpms\u ui.log\u me\u off”);
window.addEventListener(“popstate”),函数(事件){
history.pushState(null,null,“xna\u hpms\u ui.log\u me\u off”);
});
您已从网站上注销);
htp.anchor('http://www.google.com“,”单击此处登录“);
htp.p(“
bye”); 结束; 结束; /
我提到的文件:

问题:

  • 在Chrome中,当我单击注销按钮时,它会注销用户,之后当用户尝试刷新或尝试在新选项卡中打开网页时,会出现提示,询问登录凭据,如果用户单击取消并刷新选项卡,他将自动登录。而这种行为不在IE中

  • 当有许多选项卡打开且用户单击“注销”按钮时,他将从当前页面注销;当导航到其他选项卡时,如果他再次单击任何位置,他将要求网页输入凭据;如果他单击“取消”并刷新页面,他将在不输入凭据的情况下再次登录


  • 请提供帮助

    我建议使用自定义OWA和您自己的cookie作为验证用户的手段。设置DAD以使用自定义owa授权架构。然后在模式中创建自定义的_owa.authorize包/函数

    在访问每个页面之前,将调用custom_owa.authorize函数。如果返回true,则请求被批准。如果为false,则请求被拒绝

    这使您可以完全控制谁可以访问什么。所以,当有人登录你的网站时,你要做的就是设置你自己的cookie。然后在custom_owa.authorize中检查cookie并相应地返回true或false

    当有人注销时,销毁cookie或使其过期