3

我对会话超时有疑问。在我的 grails 应用程序中,用户在会话超时后登录,但随后进入最后编辑的页面。我想阻止这种情况并将它们发送到特定的 URL。我怎样才能做到这一点,我在 spring 安全文档中找不到东西。

问候。

4

2 回答 2

2

根据docs,您似乎可以使用以下组合:

successHandler.defaultTargetUrl="/whatever/url/you/want"
successHandler.alwaysUseDefault=true
于 2013-01-11T18:13:04.640 回答
1

默认情况下,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 源代码...

于 2013-01-11T18:14:31.483 回答