3

用户登录后,我检查他们的角色。如果他们没有角色,我想将他们注销。这就是我现在正在做的事情:

if (SpringSecurityUtils.ifAllGranted('ROLE_ADMIN')) {
    redirect(uri: '/book/edit')
}
else if (SpringSecurityUtils.ifAllGranted('ROLE_USER')) {
    redirect(uri: '/book/list')
}
else {
    redirect(uri: '/login/auth')
}

这不起作用,因为有一个递归重定向到/login/auth. 我该如何正确执行此操作(注销然后重定向到/login/auth)?

4

2 回答 2

9

顺便说一句,要注销当前登录的用户,您可以拨打以下电话:

SecurityContextHolder.clearContext()
于 2012-06-12T07:17:59.227 回答
7
class AnyController {    
    def logoutHandlers

    def method = {
    ...
        logoutHandlers.each { handler ->
            handler.logout(request, response, springSecurityService.authentication)
        }
    }
}
于 2012-06-12T13:57:51.923 回答