1

重複の可能性:
ユーザーがログアウト後に前の保護されたページに戻らないようにする

サインアウト後にユーザーがJavaアプリケーション(mvc)にアクセスできないようにして、Javaアプリケーション(mvc)を保護する必要があります。

目的:

1.エンドユーザーは、サインアウト後にブラウザの戻るボタンを使用して制限されたページにアクセスできないようにする必要があります。2.エンドユーザーは、サインアウト後にブラウザの履歴で制限されたURLにアクセスできないようにする必要があります

グーグルした後、ブラウザの戻るボタンを無効にするのは良い習慣ではないことを理解しました。では、JSPでこれを最高の状態で実現するにはどうすればよいですか?

ありがとう&よろしくアシッシュ

4

3 に答える 3

8

各ページで、おそらくをクリアすることができますcached page

  <%
  response.setHeader("Cache-Control","no-cache");
  response.setHeader("Cache-Control","no-store");
  response.setHeader("Pragma","no-cache");
  response.setDateHeader ("Expires", 0);

  if(session.getAttribute("some_token")==null)
      response.sendRedirect("login/login.html");

  %> 

セッションを無効にlogoutする必要があるため、クリックして戻るとsome_token属性値がチェックインされsession、そうでない場合はloginページにリダイレクトされます。some_tokenただし、ログイン後、セッションで属性を設定していることを忘れないでください。

于 2013-01-04T07:06:36.603 に答える
0

リソースを保護するための一般的なアプローチ-

  1. 制限付きページコントローラにセッション属性チェック(例:ユーザーオブジェクト)を配置します。
  2. ログアウト後にセッションを無効にします。
于 2013-01-04T07:03:35.770 に答える
0

制限された JSP/サーブレットごとに、ユーザーがサインインしているかどうかを確認する必要があります。ユーザーがサインインしていない場合は、制限されていないページにリダイレクトします。(これには JavaScript は必要ありません)

<%
   int userId = session.getAttribute("userId");
   if(userId == null) {
      response.sendRedirect(redirectURL);
   }
%>

ユーザーがログアウトすると、セッションが無効になるため、ユーザーが制限された JSP/サーブレット ページにアクセスしようとすると、認証ロジックによってリダイレクトされます。

<% session.setAttribute("userId", null); // in your logout.jsp page %>
于 2013-01-04T07:16:34.923 に答える