从后端重定向不起作用,浏览器执行GET请求

时间:2019-09-25 12:38:52

标签: angular spring-boot redirect

我有一个角度应用程序,它向未经授权的后端(Spring启动服务器)发出请求。我从服务器收到以下响应。

HTTP/1.1 302 
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: https://localhost:4200
Access-Control-Allow-Credentials: true
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Location: https://localhost:4200/oauth2/login/
Content-Length: 0
Date: Wed, 25 Sep 2019 12:26:40 GMT

我希望它将我重定向到登录页面,并且服务器在Location标头中返回登录页面的正确网址,但是我的浏览器尝试向“ https://localhost:4200/oauth2/login/”发出OPTIONS请求,该请求提供了200个代码,但不加载页面。如何将其重定向到我的网页角度页面?

谢谢

1 个答案:

答案 0 :(得分:0)

在Angular中,您的前端逻辑与服务器端逻辑是分开的,这意味着您的服务器无法在客户端上处理重定向。话虽如此,一种方法是从响应中获取状态代码并确定是否需要进行重定向。您可以通过将Angular Router模块注入到身份验证类中来实现此目的,然后在该类中可以使用Navigation方法将用户重定向到所选位置。