302重定向后,浏览器中不显示登录页面

时间:2015-07-19 00:20:52

标签: javascript html spring redirect http-headers

方案

我有一个使用Spring Security实现基本自定义登录重定向的Web应用程序。我的Web应用程序在Tomcat 8.0.14后端运行,而我的自定义signin.html和.css文件则从Apache前端提供。

我的通话流程如下:

  1. 向sit.html发送GET请求
  2. site.html在我的网络应用中执行受限资源的ajax GET请求
  3. 我的网络应用回复302,包括重定向到我的自定义signin.html页面。
  4. 客户端发送GET请求以访问重定向URL。
  5. 服务器响应状态200 ok,但登录页面未显示在Web浏览器中。在chrome调试器中,我可以看到响应包含signin.html页面。
  6. 当我直接在浏览器中输入网址时,我可以看到登录页面。

    来自调用流程步骤4的请求标头包含

      

    Accept: application/json, text/javascript, */*; q=0.01

    直接访问登录页面的请求标题包含

      

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

    因此,Chrome浏览器似乎没有显示login.html,因为请求标头不接受html和xml数据。

    问题

    如果是这种情况,我的问题是如何在收到来自我的网络应用程序的重定向响应后控制Accept标头的值?这是否需要在步骤3的重定向响应中完成?

    以下是我的重定向响应标头:

      

    HTTP/1.1 302 Found Date: Sun, 19 Jul 2015 00:49:37 GMT Server: Apache/2.4.10 (Unix) mod_jk/1.2.40 Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-XSS-Protection: 1; mode=block X-Frame-Options: DENY X-Content-Type-Options: nosniff Set-Cookie: JSESSIONID=...; Path=...; HttpOnly Location: http://.../signin.html Content-Length: 0 Keep-Alive: timeout=5, max=99 Connection: Keep-Alive

0 个答案:

没有答案
相关问题