如何在Grails中以编程方式注销acegi插件?

时间:2010-05-06 09:22:21

标签: grails spring-security

使用此登录代码注销时是否存在类似的逻辑:

// login account
def autht = new AuthToken(username, password)
def authtoken = daoAuthenticationProvider.authenticate(autht)
SecurityContextHolder.context.authentication = authtoken

我检查了LogoutController,这是注销的唯一逻辑:

redirect(uri: '/j_spring_security_logout')

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:2)

您需要使会话无效:

session.invalidate()

并删除身份验证:

SecurityContextHolder.clearContext()

如果支持,您还需要删除他们的记住我的cookie。为rememberMeServices添加依赖注入(“def rememberMeServices”)并调用

rememberMeServices.logout request, response, null