2013-04-18 3 views
0

모든 사용자가 login.jsp에 액세스 할 수 있도록 로그인 페이지가 있습니다. 예를 들어,특정 역할을 가진 사용자 만 스프링 보안으로 로그인 허용

<intercept-url pattern="/login.jsp" access="permitAll()" />

는하지만 난 단지 ROLE_ADMIN 말을 가진 사용자에 대한 액세스를 허용합니다. ROLE_USER를 가진 사용자는 성공적으로 인증 할 수 있지만 다시 login.jsp로 리디렉션되어야합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

+0

참조, http://stackoverflow.com/ 질문/5458892/spring-security-redirecting-to-login-page-if-the-authentication-failed. U가 해결된다고 생각하는 경우, UR 질문을 중복으로 생각하십시오. –

답변

0

access-denied-page<http>에 로그인 페이지로 설정하고 URL을 올바르게 보호하면 원하는 효과를 얻을 수 있습니다.

<security:http use-expressions="true" access-denied-page="/login"> 

    <security:form-login 
      login-page="/login" 
      default-target-url="/page/for/admins" 
      authentication-failure-url="/login?error=true"/> 

    <security:intercept-url pattern="/login.jsp" access="permitAll()" /> 
    <security:intercept-url pattern="/page/for/admins" access="hasRole('ROLE_ADMIN')"/> 

</security:http> 

ROLE_USER을 가진 사용자 권한에 로그인 한 후 다시 로그인 페이지로 전달됩니다. 그것은 비록 즐거운 사용자 경험이 아니다 ...이 도움이된다면

관련 문제