【发布时间】:2012-12-26 07:40:01
【问题描述】:
我遇到了会话超时问题。在我的 grails 应用程序中,用户在会话超时后登录,但随后进入最后编辑的页面。我想阻止这种情况并将它们发送到特定的 URL。我怎样才能做到这一点,我在 spring 安全文档中找不到东西。
您好。
【问题讨论】:
标签: grails spring-security session-timeout
我遇到了会话超时问题。在我的 grails 应用程序中,用户在会话超时后登录,但随后进入最后编辑的页面。我想阻止这种情况并将它们发送到特定的 URL。我怎样才能做到这一点,我在 spring 安全文档中找不到东西。
您好。
【问题讨论】:
标签: grails spring-security session-timeout
默认情况下spring security会在登录成功后转发原始请求。您可以通过将以下内容添加到Config.groovy 来防止这种情况发生:
grails.plugins.springsecurity.successHandler.alwaysUseDefault = true
grails.plugins.springsecurity.successHandler.alwaysUseDefaultTargetUrl = true
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/my/default/url'
这两个属性听起来应该做同样的事情,但在我的情况下,它只有在我同时拥有它们时才有效。也许你可以删除其中一个并让它工作......
这将在您登录时改变行为,而不仅仅是在超时之后。如果你需要更动态的解决方案,我猜你得深挖一下spring security的源码……
【讨论】:
根据docs,您似乎可以使用以下组合:
successHandler.defaultTargetUrl="/whatever/url/you/want"
successHandler.alwaysUseDefault=true
【讨论】: