2012-07-06 3 views
1

저는 최근에 스프링 보안을 배우기 시작했으며이를 기존 웹 어플리케이션에 통합하려고했습니다. 이 앱은 구성이 간단하여 어디 까지나 망쳐 버렸습니다.리디렉션 루프를 유발하는 스프링 보안 구성

내 web.xml을

<!-- FilterChain proxy for security --> 
<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/appname-servlet.xml</param-value> 
</context-param> 


<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<servlet> 
    <servlet-name>nistreq</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/appname-servlet.xml</param-value> 
    </init-param> 
</servlet> 

<servlet-mapping> 
    <servlet-name>appname</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>mainpage.jsp</welcome-file> 
</welcome-file-list> 

<security:http access-denied-page="/denied.jsp" use-expressions="true"> 
    <security:form-login login-page="/login.jsp" 
     authentication-failure-url="/login.jsp?login_error=true" />  
    <security:intercept-url pattern="/*" access="isAuthenticated()"/> 
    <security:logout/> 
</security:http> 

내가 springSecurityFilterChain ("/ 에 대한 매핑 한 내 URI를 사이에 나쁜 모조있을 보이는 보안-config.xml에 "), 서블릿 매핑의 URL 패턴 ("/ ") 및 security : intercept-url 패턴 ("/ ")이 포함됩니다. 이로 인해 리디렉션 루프가 발생합니다. 나는 등

I, 난 항상 404의 복 주머니, 리디렉션 루프 결국 응용 프로그램 루트 등을 보호 방지하기 위해 서브 패키지로 컨텐츠를 밀어 주위 용어를 움직이는 수많은 변화를 통해 갔어요 뭔가를하고있는 것은 정말로 여기에서 골머리를 쥐고 다른 눈을 감상 할 것입니다. 어떤 통찰력을 주셔서 감사합니다 ...

답변

5

나는 당신이 로그인 페이지에 대한 예외를 추가해야한다고 생각합니다. 당신이 당신의 보안-config.xml 파일에 무슨 외에도 다음과 같은 추가 : 당신이 이동하려고 무엇이든 URL

<security:http pattern="/login.jsp" security="none" /> 

, 그것은 인증되지 않은 것, 로그인 페이지로 이동하려고 시도 있도록. 그러나 인증도되지 않으므로 방금 회전하여 회전합니다. 로그인 페이지는 인증받지 않고 액세스 할 수 있어야합니다.

+0

당신은 그것을 발견했습니다. 나는 실제로 이렇게 했어. Raevik

+0

실제로 로그인 페이지 이후의 리다이렉트가 해결되지 않는 404), 문제의 첫 번째 부분을 확인했습니다. 감사. – Raevik

관련 문제