1

Web ページからユーザーをログアウトする LogOut ボタンを実装しました。サーバーはOracle HTTPサーバーです。

LogOutをクリックすると、以下の手順が実行されます

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

問題:

  1. Chrome では、[ログオフ] ボタンをクリックするとユーザーがログアウトされ、その後、ユーザーが新しいタブで Web ページを更新または開こうとすると、ユーザーが [キャンセル] をクリックしてタブを更新すると、ログイン資格情報を求めるプロンプトが表示されます。彼は自動的にログインします。この動作は IE ではありません。

  2. 多くのタブが開いているときにユーザーが [ログオフ] ボタンをクリックすると、現在のページからログアウトされますが、他のタブに移動するときにどこかをクリックすると、Web ページから資格情報の入力を再度求められますが、[キャンセル] をクリックしてページを更新すると、再びログに記録されます資格情報を入力せずにオンにします。

親切に助けて

4

1 に答える 1

2

ユーザーを認証する手段として、カスタム OWA と独自の Cookie を使用することをお勧めします。custom_owa を使用してスキーマを承認するように DAD を設定します。次に、スキーマに custom_owa.authorize パッケージ/関数を作成します。

custom_owa.authorize 関数は、各ページにアクセスする前に呼び出されます。true が返された場合、リクエストは許可されます。false の場合、リクエストは拒否されます。

これにより、誰が何にアクセスできるかを完全に制御できます。つまり、誰かがあなたの Web サイトにログインしたときに、独自の Cookie を設定するだけです。次に、custom_owa.authorize で Cookie をチェックし、それに応じて true または false を返します。

誰かがログオフしたら、Cookie を破棄するか期限切れにします。

于 2015-06-22T03:20:33.430 に答える