用户角色的不同目标URL

时间:2011-11-15 09:18:20

标签: grails login spring-security

如何根据用户角色登录后配置不同的目标URL?我正在使用Spring安全插件。

2 个答案:

答案 0 :(得分:1)

我认为你可以在这个网站中定义一个defaultTargetUrl,就像Denis提到的那样:Grails spring security就像hitty5说的那样。

您可以根据用户在该默认请求的响应中的角色来设置重定向的逻辑。

用grails:

在config.groovy

grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/login/loggedIn'
在LoginController中

(因为该控制器包含配置的默认操作)

@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')
    }

我希望它有所帮助...

答案 1 :(得分:0)

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

为什么在检查映射到loginsuccess网址的Spring控制器中的用户角色后,无法重定向到另一个页面?