4

JBoss 7.1.1 で実行されている Java EE 6 Web アプリケーションがあり、認証が必要なページと必要でないページが多数あります。認証されたページについては、この以前の投稿で説明されているように、Servlet 3.0 Programmatic Security を使用しています。

私のweb.xmlには、次のエントリがあります

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login</form-login-page>
    <form-error-page>/loginError</form-error-page>
  </form-login-config>
</login-config>

私のログインクラスには、@PostConstructリクエストされたページがキャプチャされた場所で 注釈が付けられたメソッドがあります。String previousURL = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get(RequestDispatcher.FORWARD_QUERY_STRING)

ただし、 web.xml の login-config 設定により、ユーザーが要求し、JBoss によって転送されページではなく、/login ページ自体に評価されます。その結果、previousURL に転送すると、ユーザーが最初にクリックしたページではなく、ログイン ページに戻るだけです。私は何を間違っていますか?

4

1 に答える 1

1

間違った属性を取得しようとしています。取得しようとしているのは、実際の URI であるRequestDispatcher.FORWARD_REQUEST_URIです。現在取得しようとしているのは?param=1、要求された URL に続くクエリ文字列 (基本的には実際の URL の後のものなど)です。

于 2013-03-05T04:21:32.450 に答える