grails spring安全性在登录后重定向
我的Grails应用程序使用spring安全插件。当您尝试访问受保护的资源时,将显示登录表单,并将该资源的路径保存在grails spring安全性在登录后重定向,grails,spring-security,grails-plugin,Grails,Spring Security,Grails Plugin,我的Grails应用程序使用spring安全插件。当您尝试访问受保护的资源时,将显示登录表单,并将该资源的路径保存在会话下。SPRING\u SECURITY\u saved\u REQUEST\u KEY 我观察到以下行为: 直接导航到登录表单session.SPRING\u SECURITY\u SAVED\u REQUEST\u KEY==null如预期的那样 返回主页而不登录 尝试访问受保护的资源/foo/bar。登录表单显示在会话下保存的受保护资源的路径。SPRING\u SECURI
会话下。SPRING\u SECURITY\u saved\u REQUEST\u KEY
我观察到以下行为:
session.SPRING\u SECURITY\u SAVED\u REQUEST\u KEY==null
如预期的那样/foo/bar
。登录表单显示在会话下保存的受保护资源的路径。SPRING\u SECURITY\u saved\u REQUEST\u KEY
如预期的那样/foo/bar
的路径仍保存在会话下。SPRING\u SECURITY\u saved\u REQUEST\u KEY
不符合预期/foo/bar
,即使在步骤(5)中,我没有尝试访问此资源-显示登录表单是因为我直接导航到它
这就提出了一个问题:当用户直接导航到登录页面时,成功登录后应该显示什么?他们登录前的页面(PBL)似乎是一个合理的默认页面
总而言之,我想要的行为是:
- 用户直接导航到登录表单,在
=>登录后重定向到PBLPASS会话下未保存任何值。SPRING\u SECURITY\u saved\u REQUEST\u KEY
- 用户访问受保护资源=>登录后重定向到受保护资源PASS
- 用户直接导航到登录表单并在
=>登录失败后重定向到PBL会话下保存值。SPRING\u SECURITY\u saved\u REQUEST\u KEY
会话.SPRING\u SECURITY\u SAVED\u REQUEST\u KEY
设置为null,该怎么办?这可能会解决问题3,但可能会解决问题2。这不是插件特性,而是Spring的安全特性。通常,只有在进行身份验证时才会删除SavedSession。应该可以解决这个问题,但我还不确定最好的方法是什么。@BurtBeckwith在我看来,session.SPRING\u SECURITY\u SAVED\u REQUEST\u KEY
应该在用户直接访问登录表单时删除,尽管我可能遗漏了一些东西。对,问题是如何检测直接访问与重定向。