1

ユーザーが JSP サイトにログインできるようにしています。しかし、ログインするとホームページにリダイレクトされます。

だから私は彼が特定の場所にリダイレクトされるのではなく、同じページにとどまることを望んでいます.

そのため、ログイン/ログアウト要求を開始したソース ページのリンクにアクセスして、ユーザーをログアウトしてから同じページにリダイレクトしたいと考えています。また、クエリ文字列にアクセスする必要があります。

request.getRequestURL/URL を試しましたが、ログイン ボタンがクリックされたページのリンクではなく、このサーブレットに到達するために使用されるリンク (つまり、実際には LoginHendlerServlet リンク自体) が返されます。

この 1 つの古いリンクにアクセスするための既製の API メソッドはありますか。

4

1 に答える 1

0

これが私がそれをする方法です:

認証が提供される必要があるすべてのページをインターセプトするフィルターを使用します。このフィルターでは、要求がGET要求であり、AJAX要求ではなく、ユーザーが認証されていない場合、要求されたURLをそのクエリ文字列とともに要求属性に格納し、ログインページに転送します。

ログインページには、ログインフォームとともに送信されるリクエストURLを含む非表示フィールドが含まれています。

ログインサーブレット/アクションで、要求されたURL要求パラメーターが入力されている場合、ログインが成功したら、このURLにリダイレクトします。それ以外の場合は、ログインページにリダイレクトします。

セッションを使用してリクエストURLを保存することもできますが、セッションをできるだけ空にしておくことをお勧めします。

于 2013-02-15T23:17:12.997 に答える