【发布时间】:2011-10-29 15:40:05
【问题描述】:
我正在尝试在我的 spring mvc 应用程序中使用 ajax。当我尝试一个安全且需要身份验证的 url (post/get) 时,响应是登录页面的 html,因为它在后台被重定向。 解决此问题的最佳方法是什么?
【问题讨论】:
标签: ajax model-view-controller spring login spring-security
我正在尝试在我的 spring mvc 应用程序中使用 ajax。当我尝试一个安全且需要身份验证的 url (post/get) 时,响应是登录页面的 html,因为它在后台被重定向。 解决此问题的最佳方法是什么?
【问题讨论】:
标签: ajax model-view-controller spring login spring-security
首先,如果可能的话,如果用户未通过身份验证,我会避免显示指向需要身份验证的 URL 的 Ajax 链接。
如果并非总是可能的话,您的登录页面可能会返回一个特定的 HTTP 响应代码(或任何其他将其与正常响应区分开来的方式),并且您的 JavaScript 回调可能会用 HTML 替换当前页面的整个正文如果收到此响应代码,则收到。大多数 AJAX 库都提供了一种为所有 AJAX 请求定义处理程序的方法。这里可以使用这样的全局处理程序。
登录页面也可以调整为仅在 AJAX 请求的情况下返回状态代码,如果收到此状态代码,JavaScript 代码将重定向到登录页面(不使用 AJAX)。
【讨论】:
我可能没有很好地解释这个问题。所以我没有得到正确的回应。然而,JB Nizet 的回应包含其他一些观点。所以谢谢。
我可以在一段时间后回到这个问题后解决这个问题,所以 I posted about this on my blog.
希望有用。
【讨论】: