0

別のブラウザでログインしようとすると、ログインに成功した後、authentication-failure-url にリダイレクトされます。期限切れの URL にリダイレクトされないのはなぜですか?

<http auto-config='false' use-expressions="true">
<intercept-url pattern="/login" access="permitAll"/>        
<intercept-url pattern="/j_spring_security_check" access="permitAll"/>
<logout logout-success-url="/login.xhtml" invalidate-session="true" delete-cookies="JSESSIONID"/>        
<form-login login-page="/login.xhtml"
            login-processing-url="/j_spring_security_check"                                                       
            default-target-url="/pages/index.xhtml"
            always-use-default-target="true"                                                                            
            authentication-failure-url="/login.xhtml?error=true"/>
<custom-filter before="FORM_LOGIN_FILTER" ref="customAjaxControlFilter" />
<session-management invalid-session-url="/login.xhtml?error=sessionExpired" session-authentication-error-url="/login.xhtml?error=alreadyLogin">
        <concurrency-control error-if-maximum-exceeded="true" max-sessions="1" expired-url="/login.xhtml?error=expired"/>            
</session-management>

編集:ところで、ログアウトに成功すると、無効なセッション URL にリダイレクトされます。何が起こっているのかわかりません。

4

1 に答える 1

0

これは予期される動作です。マニュアルから:

2 回目のログインは拒否されます。「拒否」とは、フォームベースのログインが使用されている場合、ユーザーが authentication-failure-url に送信されることを意味します。

を設定するとこうなりますerror-if-maximum-exceeded="true"

expired-urlを設定していない場合、パラメータが使用されますerror-if-maximum-exceeded="true"。その場合、新しいログインが許可され、元のセッションは期限切れとしてマークされ、それを使用しようとすると、この URL にリダイレクトされます。

于 2013-09-27T14:36:50.920 に答える