我有一个angular-cli应用程序(在http://localhost:4201
上运行),需要token
才能访问。
在应用程序初始化时,通过以下方法检查令牌的存在:
public isTokenPresent() {
if (!localStorage.getItem('token')) {
window.location.assign('/login');
}
}
如果令牌不存在,我想将我的应用程序重定向到另一个包含登录屏幕的Angular应用程序,该登录屏幕在http://localhost:4200
上运行。
所以我读到我需要在第一个角度应用中设置proxy.conf.json
文件,并在提供应用时将其作为参数传递,以便能够拨打此外部电话:
ng serve --port 4201 --host 0.0.0.0 --proxy-config proxy.conf.json
proxy.conf.json
的内容如下:
{
"/login": {
"target": "http://localhost:4200",
"secure": false
}
}
但是,我仍无法访问第一个角色应用(包含登录屏幕)第一个,需要token
:
浏览器只会将/login
添加到浏览器地址栏中的url
,但不会更改域名。
所以我得http://localhost:4201/login
而不是重定向到http://localhost:4200/login
任何人都可以告诉我,我的方法中是否遗漏了什么?
如何从第一个中访问第二个应用程序?
P.S:请注意,直接使用window.location.assign('http://localhost:4200/login');
不是我解决问题的选择。