私のアプリケーションでspring 3を使用していて、1つの問題に直面しています。私は私のxmlファイルでは、このような春のセキュリティを設定している:Spring Security - UsernamePasswordAuthenticationFilterでユーザー名/パスワード以外のカスタムパラメータを追加する方法
<bean id="authenticationFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"
p:authenticationManager-ref="myAuthenticationManager"
p:authenticationFailureHandler-ref="customAuthenticationFailureHandler"
p:authenticationSuccessHandler-ref="customAuthenticationSuccessHandler"
p:sessionAuthenticationStrategy-ref="sas" p:usernameParameter="username"
p:passwordParameter="password" **p:customparameter="mycustomparameter"** p:filterProcessesUrl="/validate_user.jspx"
p:postOnly="true" />
しかし、春のコンテキストを初期化した後、私はmycustomparameter
は、任意のゲッター/セッターを持っていないと見られないので...
私はカスタムのauthenticatemanagerクラスに私のカスタムパラメータを渡す必要があります(認証オブジェクトでunameとpwdを取得しています)(authentication.getDetails()
にこの追加情報があります) また、このフィールドはlogin.jspページにあります -
<s:hidden label="Password" id="login_form_mycustomparameter" name="mycustomparameter"
value="false" cssClass="txtbox" required="true" />
可能ですか? そうでない場合は、これを達成する別の方法を提案してください。
おかげ..
http://stackoverflow.com/questions/9028532/how-to-catch-spring-security-login-form-before-spring-gets-it/9034851#9034851 – sourcedelica