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 に答える