【问题标题】:How to programmatically logout in acegi plugin in Grails?如何以编程方式注销 Grails 中的 acegi 插件?
【发布时间】:2010-05-06 23:35:31
【问题描述】:

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

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

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

redirect(uri: '/j_spring_security_logout')

有什么想法吗?谢谢

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

    您需要使会话无效:

    session.invalidate()
    

    并删除身份验证:

    SecurityContextHolder.clearContext()
    

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

    rememberMeServices.logout request, response, null
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 1970-01-01
      • 2012-06-15
      • 2017-01-15
      • 2019-05-19
      • 2015-06-19
      • 2015-07-22
      相关资源
      最近更新 更多