在打开任何组件之前,我都有一种用于认证用户的方法。 当我收到来自服务的isAuthorized时,只需要将用户转发到他请求的组件。就我而言,我停留在同一页面上,该应用程序正常运行,没有错误,没有日志可跟踪此问题,只是停留在该页面上。谁能告诉我我做错了什么?
AuthUser() {
let auth = new Authorize();
auth.Credentials.CredentialsData1 = this.email;
auth.Credentials.CredentialsData2 = this.password;
auth.ResourceId = this.authGard.requestedComponentID;
this.http.post(this.appGlobal.BASE_SERVER_ADDRESS + 'api/AppServer/Authorize', auth).subscribe((res) => {
if (res['IsAuthorized'] == true)
this.router.navigate([this.authGard.requestedComponent]);
else this.router.navigate(['auth/unauthorized']);
});
}
答案 0 :(得分:1)
我最近为团队中的某个人提供了类似问题的帮助。
我假设“ FuelDashboard”中的组件通过身份验证检查得到了保护。
但是,我没有看到您保存res ['IsAuthorized']响应。
Q)“ FuelDashboard”中的组件是否检查身份验证?
Q)未经授权的请求是否会使用户返回登录页面?
可能的答案-您必须将响应(res ['IsAuthorized'])保存到一个持久位置,以便FuelDashboard可以检查用户是否已通过身份验证。
答案 1 :(得分:0)
您的路线是FuelDashboard吗?我相信您是从this.authGuard.requestedComponent获得组件名称而不是路由名称,而不是在app.routing.module.ts上创建的路由或选择的任何路由。