【问题标题】:Spring Security 3 - Ajax logoutSpring Security 3 - Ajax 注销
【发布时间】:2016-07-12 06:44:08
【问题描述】:

我正在构建一个具有集成登录/注销功能的单页 Web 应用程序。后端由 Grails 3 和 Spring Security 3.0.3 提供支持。

来自 Spring Securiy 文档:

LoginController 具有 JSON 生成方法 ajaxSuccess()ajaxDenied()authfail(),这些方法生成 JSON,登录 Javascript 代码可以使用这些方法适当地显示成功或错误消息。

默认情况下,Ajax 请求由 X-Requested-With 请求标头标识。

Ajax 注销功能呢?据我所知,没有内置支持可以做到这一点,所以我正在寻找有关实现这一目标的最简单方法的建议。

目前,使用默认的 Spring Security 配置,注销按预期工作(即用户能够成功注销),但我从后端得到的当然是登录页面的 HTML。

提前致谢!

【问题讨论】:

    标签: ajax grails spring-security logout


    【解决方案1】:

    我自己也遇到了同样的问题。

    没有找到跳过重定向的方法,但是通过添加我自己的注销控制器,我至少可以提供一个 json 响应而不是登录页面。

    将此添加到 application.groovy

    grails.plugin.springsecurity.logout.afterLogoutUrl="/ajaxLogout"
    

    这是我的控制器

    @Secured('permitAll')
    class AjaxLogoutController {
      def index() {
        def data = [:]
        data.success = true
        render data as JSON
      }
    }
    

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 2011-10-05
      • 2020-04-02
      • 2017-04-22
      • 2012-10-09
      • 2018-09-02
      • 2011-06-28
      • 2011-07-19
      • 1970-01-01
      相关资源
      最近更新 更多