Http 如何在Angular中拦截用户会话管理的UI路由?

Http 如何在Angular中拦截用户会话管理的UI路由?,http,angular-router,Http,Angular Router,我们有一个以节点为后端的角度应用程序。我们有一个进行会话管理的身份验证服务器。我们正在使用一个http拦截器来检查会话是否处于活动状态,以便执行http请求。如果会话已过期,我们将导航到登录页面。这适用于大多数页面,因为我们在ngOnInit中有一些或其他http请求,因此它们工作良好。但我想知道当没有http请求加载时如何拦截。我怎么会遇到这种情况?我应该使用canActivate吗?任何建议都会有帮助 谢谢是的,您可以使用角度路由器的挂钩来完成此操作。您不想在每个组件中重复登录检查代码,ca

我们有一个以节点为后端的角度应用程序。我们有一个进行会话管理的身份验证服务器。我们正在使用一个http拦截器来检查会话是否处于活动状态,以便执行http请求。如果会话已过期,我们将导航到登录页面。这适用于大多数页面,因为我们在ngOnInit中有一些或其他http请求,因此它们工作良好。但我想知道当没有http请求加载时如何拦截。我怎么会遇到这种情况?我应该使用canActivate吗?任何建议都会有帮助

谢谢

是的,您可以使用角度路由器的挂钩来完成此操作。您不想在每个组件中重复登录检查代码,canActivate可以在路由器配置声明的应用程序的其他部分中重用。您还可以检查用户是否具有查看此页面的权限

您还可以做的是发出请求并等待响应,如果响应为403,则返回登录页面

如果不想每次都检查,可以使用保存开始会话日期并检查该日期是否过期