我对会话超时有疑问。在我的 grails 应用程序中,用户在会话超时后登录,但随后进入最后编辑的页面。我想阻止这种情况并将它们发送到特定的 URL。我怎样才能做到这一点,我在 spring 安全文档中找不到东西。
问候。
我对会话超时有疑问。在我的 grails 应用程序中,用户在会话超时后登录,但随后进入最后编辑的页面。我想阻止这种情况并将它们发送到特定的 URL。我怎样才能做到这一点,我在 spring 安全文档中找不到东西。
问候。
根据docs,您似乎可以使用以下组合:
successHandler.defaultTargetUrl="/whatever/url/you/want"
successHandler.alwaysUseDefault=true
默认情况下,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 源代码...