2012-11-02 4 views
0
<beans:bean id="loginUrlAuthenticationEntryPoint" 
      class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint"> 
    <beans:property name="loginFormUrl" value="/session-timeout-1.do" /> 
</beans:bean/> 

다른 유형의 사용자에 대해 2 개의 다른 세션 시간 초과 페이지가 있습니다. 사용자가 로그인 한 후에는 사용자의 유형을 확인한 후에 속성 값을 "/session-timeout-1.do"에서 "/sessiontimeout-2.do"로 변경해야 할 수 있습니다.프로그래밍 방식으로 속성 값 변경

런타임에 속성 값을 변경할 수있는 API가 있는지 궁금합니다.

또는 구성 파일에 변수를 포함 할 수 있습니까?

<beans:property name="loginFormUrl" value="${time-out-url}"> 

"time-out-url"변수는 프로그래밍 방식으로 설정할 수 있습니까?

+0

별로 의미가 없습니다. 이 bean은 사용자를 인증하기 위해 호출됩니다. 그래서 내가 뭔가를 놓치지 않으면, 그 bean을 사용할 때 사용자가 아직 인증되지 않았기 때문에이 bean이 호출되는 사용자 유형에 대한 단서가 없습니다. –

답변

0

LoginUrlAuthenticationEntryPoint 클래스의 서브 클래스를 만들고 자신 만의 논리를 제공 할 수 있습니다. http://git.springsource.org/spring-security/rwinchs-spring-security/blobs/2d271666a406a4409def9afcd73ea340c40a7a88/web/src/main/java/org/springframework/security/web/authentication/LoginUrlAuthenticationEntryPoint.java

구체적 방법 :

determineUrlToUseForThisRequest 

"서브 클래스가 주어진 요청에 적용해야 로그인 폼의 URL을 수정할 수 있습니다"

여기에 클래스 소스를 참조하십시오.

관련 문제