2011-11-15 3 views
-2

사용자 역할을 기반으로 로그인 한 후 다른 대상 URL을 구성하는 방법은 무엇입니까? 스프링 보안 플러그인을 사용하고 있습니다.사용자 역할에 대한 다른 대상 URL

+0

해당 문제에 대한 stackoverflow 검색 시도하십시오. 문제에 직면 한 많은 질문이 있습니다. 예 : http://stackoverflow.com/questions/6968210/grails-spring-security-redirect-after-login-success-failure – hitty5

+0

그건 내가하려는 일이 아니야. 역할에 따라 성공적으로 로그인 한 후 다른보기로 사용자를 보내려고합니다. 예를 들어 성공한 ​​로그인 후 ROLL_USER 역할을 가진 사용자는 userIndex.gsp로 리디렉션되고 ROLL_ADMIN 역할을 갖는 사용자는 adminIndex.gsp로 리디렉션됩니다. 이것은 내가 추측하는 한 가지 해결책입니다 : [link] (http://omarello.com/2011/09/grails-custom-target-urls-after-login/) – drago

답변

0
<form-login 
      login-processing-url="/user/login" 
      login-page="/login" 
      default-target-url="/loginsuccess" 
      authentication-failure-url="/loginfailure" /> 

당신이 LOGINSUCCESS URL을 매핑 봄 컨트롤러 검사 사용자 역할 후에 다른 페이지로 리디렉션 할 수없는 이유는 무엇입니까?

1

나는이 사이트의 Denis 언급 또는 비슷하게 defaultTargetUrl을 정의 할 수 있다고 생각합니다. hitty5와 (과) 같은 Grails spring security이 (가) 말했습니다.

그리고 기본 요청의 응답에서 사용자의 역할에 따라 리디렉션 논리를 적용 할 수 있습니다. Grails는

:

에 Config.groovy 파일

인 LoginController에서
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/login/loggedIn' 

나는 그것이 도움이되기를 바랍니다

@Secured(['ROLE_ADMIN', 'ROLE_DEFAULT']) 
    def loggedIn = { 
     Usuario user = springSecurityService.currentUser 
     def roleDefault = Rol.findByAuthority("ROLE_DEFAULT") 
     if(user.authorities.contains(roleDefault)) 
      redirect(controller: 'factura') 
     def roleAdmin = Rol.findByAuthority("ROLE_ADMIN") 
     if(user.authorities.contains(roleAdmin)) 
      redirect(controller: 'noticia') 
    } 

(해당 컨트롤러가 기본 구성 조치를 포함하고 있기 때문에) ...

관련 문제