【问题标题】:grails spring security redirect after logout注销后grails spring安全重定向
【发布时间】:2014-11-11 12:55:48
【问题描述】:

我正在使用 grails spring security 并希望在注销后将用户重定向到某个 url。到目前为止,我发现有一个名为'logout.afterLogoutUrl' 的特殊属性,并且grails.plugin.springsecurity.logout.postOnly 应该设置为false。所以在我的 Config.groovy 中我有:

grails.plugin.springsecurity.logout.postOnly = false
logout.afterLogoutUrl = "/"

我的注销按钮如下所示:

    <sec:ifLoggedIn>
        <g:remoteLink class="logout buttons" controller="logout"><g:message code="btn.logout"
                                                               default="Loading&hellip;"/></g:remoteLink>
    </sec:ifLoggedIn>

当我点击注销按钮时,会出现以下请求序列:

  1. /注销/索引
  2. /j_spring_security_logout
  3. /
  4. /login/authAjax

从最后一个我得到“状态代码:401 未授权”,但用户仍然可以看到我单击注销按钮的页面。 有谁知道如何处理这种情况?非常感谢!

【问题讨论】:

    标签: grails grails-2.0 grails-plugin


    【解决方案1】:

    我注意到我为注销 url 使用了错误的属性名称。我把它的名字改成了 grails.plugin.springsecurity.logout.afterLogoutUrl

    【讨论】:

      【解决方案2】:

      这可能是因为您的操作是安全的。请将此提供给匿名用户。为此,请放置 IS_AUTHENTICATED_ANONYMOUSLY 注释,例如:-

      @Secured(['IS_AUTHENTICATED_ANONYMOUSLY'])
      def yourActionName(){
          ...
      }
      

      【讨论】:

        猜你喜欢
        • 2011-12-08
        • 2011-10-19
        • 2012-11-05
        • 1970-01-01
        • 1970-01-01
        • 2014-08-23
        • 2015-06-14
        • 2019-04-22
        • 2023-03-31
        相关资源
        最近更新 更多