2012-06-04 3 views
1

웹 보안 인증에 스프링 보안을 사용하고 있습니다. 나는 다음과 같이 구성하여 성공적으로 사용할 수 있습니다 :스프링 보안을 사용하는 모든 URL에 대한 사용자 로그인 확인

<http auto-config='true'> 
    <intercept-url pattern="/Login" filters="none" access="ROLE_USER"/> 
    <form-login login-page='/Login' authentication-failure-url="/Login/Failure" 
     default-target-url="/Url"/> 
</http> 

<authentication-manager> 
    <authentication-provider> 
     <user-service> 
      <user name="admin" password="admin" authorities="ROLE_USER" /> 
     </user-service> 
    </authentication-provider> 
</authentication-manager> 

위의 코드는 로그인 페이지에서 직접 로그인하면 잘 작동합니다. 사용자 중 하나가 로그인 페이지가 아닌 다른 URL에 액세스하는 경우 이제는 시스템에 처음 로그인 할 때 직접 URL에 액세스하지 못하도록 제한하려고합니다.

어떻게 할 수 있습니까? 당신은 또한 인증 요구 사항에서 로그인 페이지를 exlude해야 할 수도 있습니다

<intercept-url pattern="/**" filters="none" access="ROLE_USER"/> 

:

답변

2

당신은에 차단 규칙을 변경해야합니다. 사용자는 로그인 페이지를보기 위해 로그인 할 필요가 없기 때문입니다. 다음을 추가하여 수행 할 수 있습니다.

<intercept-url pattern="/Login" filters="none"/> 
+0

아니요. 작동하지 않습니다. 위의 줄을 변경하면 무한 루프가 진행됩니다. 제안 사항이 있으시면 알려주십시오. – Krishna

+1

제 답변을 읽어주십시오. 로그인 페이지를 제외하기위한 추가 규칙을 추가해야합니다. – nfechner

+0

너무 좋습니다. 도와 주셔서 감사합니다. 이제 작동합니다. – Krishna

관련 문제