【问题标题】:How to disable users from accessing previous page by browser back button after logout in angular2?如何在angular2中注销后禁止用户通过浏览器后退按钮访问上一页?
【发布时间】:2018-07-30 09:18:50
【问题描述】:

我试图不允许用户在注销后使用浏览器后退按钮转到上一页。我希望在 Angular 2 中向用户显示“请登录以继续”之类的消息

【问题讨论】:

  • CanActivate 守卫。

标签: javascript angular


【解决方案1】:

创建一个名为 authorization.guard.ts 的新文件并添加它

import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs/Observable';

import {AppContextService} from './context';

@Injectable()
export class AuthorizationGuard implements CanActivate {
 constructor(
private appContextService:AppContextService
 ){}
  canActivate(
   next: ActivatedRouteSnapshot,
   state: RouterStateSnapshot): boolean {
  return this.appContextService.getAuthAdminLoggednIn();
 }
}

稍后在您的主模块中导入 {AuthorizationGuard}

将此添加到您的每个路由器路径中

    {
    path: 'dashboard',
    canActivate:[AuthorizationGuard]
     },

请参阅此文件以获取完整授权 Refer this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-05
    • 2020-02-16
    • 2013-06-02
    • 1970-01-01
    • 2012-07-09
    • 2015-04-21
    • 2017-01-18
    • 1970-01-01
    相关资源
    最近更新 更多