我正在用 GWT 历史记录支持改造我的应用程序,我偶然发现了一个我不太确定该做什么的情况。这个问题的答案不一定与 GWT 相关。
GWT 的历史支持功能通过散列标签(即 index.html#token
)传递。安全限制要求用户在实际能够访问 index.html
之前登录,因此他们会被发送到登录页面,保留 token (login.html#token
).到目前为止,一切都很好。现在用户通过身份验证,Spring 将它们发送到 index.html
(默认目标)并删除 URL 的 #token
部分。
我如何强制 Spring Security 维护 token 并将我新认证的用户发送到他们请求的页面 (index.html#token
)?因为我已经让 Spring Security 身份验证正常工作,所以我不想重构我的应用程序处理登录的方式。
最佳答案
经过大量挖掘,我在 Spring's Jira 上找到了答案.正如 Colin Alworth 所说,该 token 实际上并不是请求的一部分,因此 Spring Security 永远不会在服务器端看到它,因此无法使用它来确定最终 URL。所以我使用的方法是将散列(客户端)附加到 j_spring_security_check
,使其成为 j_spring_security_check#token
。现在 token 可以顺利传递,让我拥有一个安全可靠的应用程序和有效的 token 。
感谢您的帮助 Colin,您的回答让我朝着正确的方向思考。
关于gwt - 通过 Spring Security 登录保持 GWT 历史哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8957131/