0

現在、Tomcatのログインサポートは、ユーザーがログインしていないことをアプリケーションが判断したときの最初の場所にユーザーをリダイレクトします。

この特定のアプリケーションでは、常にに戻るように強制する必要がありますindex.jsp

これはWARの単純な構成オプションであると確信してweb.xmlいますが、Googleで答えを見つけられませんでした。

4

2 に答える 2

2

より良い解決策は、おそらくサーブレット フィルターを使用することです。次に、j_username / j_password、およびログインの成功を確認し、目的の場所にリダイレクトできます。

于 2008-09-30T20:37:53.810 に答える
-1

これは、標準の一部ではないため、web.xml で構成できないものです。Tomcat (バージョン 6.0.14 でテスト済み) の場合、login.jsp の上に次のコードを追加することで、ユーザーを強制的に index.jsp に戻すことができます。URL に「login」という名前のパラメーターを持たないすべての要求を /index.jsp?login ページにリダイレクトします。リダイレクトには「login」パラメーターがあるため、ユーザーにはログイン ページが表示されます。

安全なソリューションではありません。誰かがページを要求してログイン パラメータを追加すると、リダイレクトされます。そう:

/showPerson?id=1234 は /index.jsp?login にリダイレクトします

/showPerson?id=1234?login は /index.jsp?login にリダイレクトされません

login.jsp の上にあるコード:

<%
if (request.getParameter("login") == null) {
    response.sendRedirect(request.getContextPath() + "/index.jsp?login");
    return;
}
%>

「ログイン」パラメーターを使用する代わりに、おそらく Cookie を使用できます。ログイン パラメータのランダムな値 (login=randomvalue) を作成し、その値を比較のためにセッション オブジェクトに保存することで、より安全にすることができます。

于 2008-09-25T21:28:26.283 に答える