0

ユーザーがget_appointment.jspにアクセスしたが、サーブレットによってlogin.jspにリダイレクトされた場合(ログインしていないため)。ログインに成功したら、get_appointment.jspに戻る必要があります。これは、そこから初期化が行われていたためです。

これで、リクエストが最初に送信されたページを追跡するためにどのメカニズムを使用する必要があるかを別のjspsおよびサーブレットに転送してから、ユーザーは元の(最初のページ)に戻る必要があります。

一般的なルールで、最も一般的でより良い方法は何ですか。私が説明した現在のシナリオの誰かがいますか?多くのセッション属性、URL書き換え、グローバルおよびアプリケーション、サーブレットコンテキストがあります。

ユーザーが手動でアドレスバーを変更して別の場所に移動した場合はどうなりますか。その後、セッション属性により、しばらくしてから誤ったページに移動します。

適切な方法は何ですか?................。

セッション用。verfiycreds.javaのiamの場合。リクエストがverifycred.java(つまりlogin.jsp)に送信されたページアドレスを取得する方法はありますか?

4

2 に答える 2

0

spring-security では、リクエストは許可されていないため、リクエストが傍受された時点でExceptionTranslationFilterに保存されます。認証が成功すると、成功ハンドラのSavedRequestAwareAuthenticationSuccessHandler / APIが呼び出されます。このハンドラーは、ExceptionTranslationFilter によって HttpSession に事前に格納されている要求の URL にリダイレクトします。

あなたの質問に答えるには、これが適切な方法です。彼らがそれを実装した方法を見て、パターンを見て、コードをチェックしてください。

于 2012-12-28T22:13:25.623 に答える
0

ユーザーのセッションに保存できます...

doGet(HttpServletRequest request, HttpServletResponse response) {
    // Could also be doPost(), depending on which you need.
    // Request and response are both abailable there as well.
    ...
    HttpSession session = request.getSession();
    session.setAttribute("referralURI", request.getRequestURI());
    ...
}

その後、 で URI を取得できますrequest.getSession().getAttribute("referralURI")

セッションを回避したい場合は、URI の関連部分を get パラメータとしてログインに渡すこともできます。

于 2012-12-28T19:27:04.443 に答える