我正在使用Angular 2框架 . 我已经设置了我的app-routing模块,以便我立即被引导到页面上的一个登录(使用pathmatch 'full'和redirectTo:'signOn' . 我的app-routing模块中的所有其他路由都有 canActivate: CanActivateViaAuthGuard
. 这只允许用户导航到另一个链接,如果他们已登录 . 这可以正常工作,一旦登录功能很好 . 用户甚至可以退出并返回到主页 .
但是,如果用户已登录并刷新页面,则从技术上将布尔值(允许它们导航)设置为false,并尝试拉出根页 localhost:4020
,这是空的 . 如果用户刷新页面,我需要它像最初一样路由到 localhost:4020/signOn
.
有什么建议?
我的路径变量中的路由示例:
{ path: '', redirectTo: 'dash', pathMatch: 'full' },
{ path: 'signOn', component: SignOnComponent},
{ path: 'dash', component: 'DashComponent', canActivate: [CanActivateViaAuthGuard]},
{ path: 'admin', component: 'AdminComponent', canActivate: [CanActivateViaAuthGuard]},
1 回答
根据你的描述,你说
this technically sets the boolean
显然会在用户刷新时重置 . 维护登录状态的推荐方法是使用Cookie或会话存储 . 例如 . 登录后,您可以在会话存储中添加密钥并将其检索为