首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AJAX时的Grails Spring安全最后请求URL

AJAX时的Grails Spring安全最后请求URL
EN

Stack Overflow用户
提问于 2013-05-13 12:19:47
回答 1查看 705关注 0票数 0

我最近面临的问题与最后的请求url登录后。正常情况下,一切正常工作。但如果我按照程序进行,我就有麻烦了:

  1. 在一个选项卡中打开应用程序并登录
  2. 在这个选项卡中,我去了一些对服务器的AJAX请求定期处理的地方。
  3. 用应用程序打开一个新的选项卡(我还在登录)
  4. 在这个选项卡中,我注销了
  5. 同时,来自第一个选项卡的AJAX请求是使用HTTP 401自动处理的(因为我已经注销)
  6. 当我再次尝试在第二个选项卡中登录时,我从第一个选项卡接收到AJAX请求的JSON,因为这是最后一个请求。

我怀疑Security会忽略AJAX对“最后请求url”的请求。有可能把它放在某个地方吗?或者有什么好的解决办法吗?

谢谢你,马泰奥

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-13 12:52:42

我认为没有一种通用的方法来区分ajax请求和用户在浏览器中启动的“常规”请求。如果您可以在应用程序中区分它们(例如,通过将ajax请求映射到可以与某些模式匹配的特定urls ),那么您可以很容易地实现您想要的。(编辑:Sérgio在他下面的评论中提出了一种更容易识别ajax请求的方法。)

在成功登录后负责执行重定向的组件是SavedRequestAwareAuthenticationSuccessHandler,因此定制框架默认行为的一种可能方法是提供自己的AuthenticationSuccessHandler,并将其注入UsernamePasswordAuthenticationFilter。应该可以在类中自动读取RequestCache,并决定是重播最后一个缓存的请求,还是忽略它,以防已知是ajax请求。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16521914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档