我最近面临的问题与最后的请求url登录后。正常情况下,一切正常工作。但如果我按照程序进行,我就有麻烦了:
我怀疑Security会忽略AJAX对“最后请求url”的请求。有可能把它放在某个地方吗?或者有什么好的解决办法吗?
谢谢你,马泰奥
发布于 2013-05-13 04:52:42
我认为没有一种通用的方法来区分ajax请求和用户在浏览器中启动的“常规”请求。如果您可以在应用程序中区分它们(例如,通过将ajax请求映射到可以与某些模式匹配的特定urls ),那么您可以很容易地实现您想要的。(编辑:Sérgio在他下面的评论中提出了一种更容易识别ajax请求的方法。)
在成功登录后负责执行重定向的组件是SavedRequestAwareAuthenticationSuccessHandler
,因此定制框架默认行为的一种可能方法是提供自己的AuthenticationSuccessHandler
,并将其注入UsernamePasswordAuthenticationFilter
。应该可以在类中自动读取RequestCache
,并决定是重播最后一个缓存的请求,还是忽略它,以防已知是ajax请求。
https://stackoverflow.com/questions/16521914
复制