2012-07-23 3 views
2

이름 공간 구성과 함께 spring security3.1을 사용하고 있습니다. 로그인 페이지의 전체 URL이 아닌 컨텍스트 경로까지 브라우저에 URL을 입력하면 로그인 페이지로 리디렉션하고 싶습니다. 예를 들어스프링 보안 3.1- 컨텍스트 URL로 로그인 페이지로 리디렉션

, http://xxx:8080/context/ 나는 다음과 같은 코드를 시도 http://localhost:8080/context/login.html

전체 URL과 로그인 페이지를 표시 할 수 있어요 대신 http://xxx:8080/context/login.html

:

<http auto-config='true' authentication-manager-ref="authentication-manager" entry-point-ref="authenticationEntryPoint"> 

<beans:bean id="authenticationEntryPoint"  class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint"> 
<beans:property name="loginFormUrl" value="/login.html"/> 
<beans:property name="forceHttps" value="true"/> 
</beans:bean> 


.... 

내가 위해 LoginUrlAuthenticationEntryPoint 항목을 추가를 로그인 페이지로 리디렉션 할 수도 있지만 작동하지 않는 것 같습니다.

+0

작동하지 않는 것으로 설명 할 수 있습니까? 빈 페이지가 나타 납니까? URL 패턴을 어떻게 구성 했습니까? – Ravi

답변

3

일부 보안 제한을 추가하면 표준 구성이 로그인 페이지로 리디렉션됩니다. 그래서

<http use-expressions="true"> 
    <intercept-url pattern="/**" access="isAuthenticated()" /> 
    <form-login /> 
</http> 

을 사용하고있는 URL을 요청하는 경우 자동 로그인 페이지로 리디렉션됩니다. AuthenticationEntryPoint을 구성 할 필요가 없습니다.

사물을 사용자 정의하기 전에 기본 예제를 사용할 수 있는지 확인하십시오.

구성이 유효하지 않습니다. http 블록의 첫 번째 요소 만 게시했습니다. 그래도 작동하지 않으면 문제를 재현하는 전체 구성을 게시하십시오.

+0

올바른 형식 : 예를 들어 isAuthenticated() 메소드가 수행하지 않고 사용자 페이지를 등록하도록 리디렉션하지 않을 경우. – JAVAvladuxa

관련 문제