2010-06-28 10 views
0

내 Grails 앱이 Spring Security (Acegi)를 사용 중입니다. 사용자는 /login에 로그인 할 수 있습니다. 이 작업이 성공하면 /으로 리디렉션됩니다. 누군가가 이제 URL /login으로 돌아 가려고하면 브라우저가 "끝없는 리디렉션, 요청을 종료 할 수 없습니다"라고 말합니다. 로그인보기를 보여줍니다 login 컨트롤러, 액션 login 하나가 /login을 명중하고 loggedin 때이 (전체 동작)가 실행되지 않습니다 일부 코드로그인 성공 후 무한 리디렉션을 중지하는 방법

if (isLoggedIn()) { 
    redirect uri: '/' 
    return 
} 

그러나이있다.

의 SecurityConfig 내가 리디렉션을 stopp 방법

/login/**=ROLE_ANONYMOUS 

모든 계약 및 프로모션 추천 자료 비즈니스 디렉토리 리뷰를 선언?

답변

0

인증 된 사용자는 ROLE_ANONYMOUS를 사용하지 않으므로 인증되지 않은 사용자가 얻는 가짜 역할 일뿐입니다. 대신 IS_AUTHENTICATED_ANONYMOUSLY를 사용하십시오. 이는 인증되지 않았거나, remember-me 쿠키를 통해 인증되거나, 로그인 양식 (즉, 모든 사용자)을 통해 인증됨을 의미합니다.

+0

감사합니다. 그건 잘 작동합니다. 역할이 계층 적으로 조직되어 있다고 생각 했나요? ROLE_ANONYMOUS skurt

+0

계층 적 역할에 대한 지원이 있지만 계층 구조를 정의해야합니다. [the docs] (http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/)의 10.12 절을 참조하십시오. –

관련 문제