Angular 6-路由器无法导航到下一页

时间:2018-10-23 14:37:19

标签: angular typescript api

在打开任何组件之前,我都有一种用于认证用户的方法。 当我收到来自服务的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']);
    });
  }

enter image description here

2 个答案:

答案 0 :(得分:1)

我最近为团队中的某个人提供了类似问题的帮助。

我假设“ FuelDashboard”中的组件通过身份验证检查得到了保护。

但是,我没有看到您保存res ['IsAuthorized']响应。

Q)“ FuelDashboard”中的组件是否检查身份验证?

Q)未经授权的请求是否会使用户返回登录页面?

可能的答案-您必须将响应(res ['IsAuthorized'])保存到一个持久位置,以便FuelDashboard可以检查用户是否已通过身份验证。

答案 1 :(得分:0)

您的路线是FuelDashboard吗?我相信您是从this.authGuard.requestedComponent获得组件名称而不是路由名称,而不是在app.routing.module.ts上创建的路由或选择的任何路由。