2017-06-14 3 views
0
We are using a form based authentication and below is the snippet from web.xml 

<login-config> 
    <auth-method> FORM </auth-method> 
    <form-login-config> 
     <form-login-page>/login.jsp?fromIndex=true</form-login-page> 
     <form-error-page>/login.jsp?fromIndex=true&ldapAuth=fail</form-error-page> 
    </form-login-config> 
</login-config> 

そして、私は認証を処理するloginfilterを持っています。したがって、認証が失敗した場合は、エラーメッセージを表示するためにjspにエラーコードを送信することもできます。認証が失敗したときにHttpRequestがJSPページに引き継がれることはないので、httpリクエストを入れて変数を送信することはできません。JSPに変数を渡すフォームベースの自動化

変数をlogin-errore JSPページに渡すもう1つの方法はありますか?

+0

をので、あなたのアプリケーションJSPにログインフィルタから特定のデータを渡したい、そうではありません?しかし、なぜ「HttpRequestはJSPに継承されていない」と言いますか? –

+0

はい、フィルタクラスでは、リクエストにパラメータを追加します。しかし、私が思うには、認証が失敗してエラーページを形成しようとすると、新しいhttpリクエストとしてレンダリングしようとします。なぜ私はこれを言っているのですか?エラーのリクエストからパラメータを取得できません。 – user2600752

+0

セッションに属性を追加したり、認証が失敗した場合にリクエストしたりできます。そして、JSPページのその属性をHttpServletRequestまたはHttpSession JSPの暗黙的オブジェクトから読み取ってください。 – fg78nc

答えて

0

代わりにパラメータを使用して、あなたがを通じてHttpRequestに属性あなたのデータを置く必要があります。

// In the filter: 
request.setAttribute("name", new MyObject()); 

// In the JSP: 
MyObject obj=(MyObject)request.getAttribute("name"); 
関連する問題