2013-09-27 2 views
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을 저를 리디렉션합니다. 나는 무슨 일이 일어나고 있는지 이해하지 못합니다.

+0

[이 설명서 섹션] (http://docs.spring.io/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#ns-session-mgmt)을 읽어주십시오.). –

+0

@ 루케 테일러 내 문제가 아니라. 내가 확인한 및 쿠키를 성공적으로 삭제합니다. – hellzone

+0

죄송합니다, 실수. –

답변

0

이것은 예상되는 동작입니다. 매뉴얼에서 :

두 번째 로그인은 거부됩니다. "rejected"는 폼 기반 로그인이 사용되는 경우 사용자가 authentication-failure-url로 전송된다는 것을 의미합니다.

error-if-maximum-exceeded="true"을 설정하면 이러한 현상이 발생합니다.

error-if-maximum-exceeded="true"을 설정하지 않은 경우 expired-url 매개 변수가 사용됩니다. 이 경우 새 로그인이 허용되고 원래 세션은 만료 된 것으로 표시되며 사용하려고하면이 URL로 리디렉션됩니다.

+0

이제 두 번째 브라우저로 로그인하려고하면 원래 세션 (첫 번째 브라우저)이 작동하지만 그냥 작동하지 않습니다. 또한 첫 번째 브라우저로 페이지에 액세스 할 수 있습니다. – hellzone

+0

구성에 보호 된 리소스가 없으므로 페이지에 액세스하는 것을 막을 수있는 방법은 없습니다. –

+0

나는 너무 많기 때문에 나는 질문하지만 질문을 적지 않았다. 같은 . 또한 로그인 페이지에서 세션을 확인합니다. – hellzone

관련 문제