【发布时间】:2019-12-14 14:18:20
【问题描述】:
需要延迟路由 canActivate 方法调用,直到我的身份验证服务返回用户 ID 的用户角色。
我们的 Angular 应用程序没有任何登录页面,它使用来自服务器登录的用户 ID。 当用户访问 URL 时,在 app.compoment.ts 中调用身份验证服务,但在服务返回任何结果之前,调用 canActivate 方法,并且当时没有用户角色。所以阻止所有用户访问。
我曾尝试使用异步并等待 https 调用来获取用户数据,但这也不起作用。 有人可以帮忙吗?
【问题讨论】:
-
用您的 canActivate 和您的身份验证服务的源代码更新问题。
-
在守卫中进行服务调用,您可以从 canActivate 中返回一个 boolean observable。
标签: angular https async-await angular-ui-router angular7-router