angular - Angular 用户登录和会话丢失 - 如何检查和重定向?
问题描述
当用户登录但会话已过期时会发生什么?
在这种情况下,例如,我从会话中丢失了我的用户名,因此名称显示为“null”。
所以我需要重定向回登录对吗?
所以在我的 app-routing.module.ts 中, { path: '**', redirectTo: '' }
最后我得到了,一切都运行良好。除了现在 - 当我的会话丢失时,我需要重定向到登录。我该如何配置?我在所有必要的页面上都有 AuthGuard。
我的理解正确吗?如果相关,我打算在稍后阶段添加 JWT。
解决方案
您可以将路由 gaurd 添加到可通过访问令牌访问的模块。在路由中,gaurd 将添加条件用户会话已过期,或者如果已过期则重定向到主页
{ path: 'route', component: Component, canActivate: [AuthGuard] },
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private authService: AuthService, private router: Router) {}
canActivate() {
if (/*user is logged in*/) {
return true;
} else {
this.router.navigate(['/Login']);
}
return false;
}
}
推荐阅读
- flutter - 如何在保持网格状结构的同时将 Wrap Widget 的子级居中?
- reactjs - 如何将不同的功能作为道具传递给同一个组件?
- ios - 使用 QtCreator 构建应用程序 iOS 时出错
- python - 排序列表 Python
- cuda - CUDA 索引 blockDim.y 始终为 1
- javascript - chartjs 输出月周日数据
- angular - 重构 angular mat-selection-list 项删除
- java - 在 ubuntu 中设置 java_home 时遇到问题
- c++ - 如何在不指定其大小的情况下声明一个数组,但在 C++ 中的类中使用初始化程序?
- spring - Spring Data Rest PATCH 请求不会填充不受字段支持的瞬态属性