在没有authGuard的情况下保护路由

时间:2018-08-14 14:21:25

标签: routes angular5

我有两种类型的用户:管理员和普通用户,我使用的是微服务概念,所以我有两个Angular应用程序。应用程序1用于登录,如果成功,则重定向到应用程序2的URL。我已经使用过authguard来防止对登录应用程序进行不必要的访问。但是在App 2中,无法执行此操作的原因是它是外部应用程序。

这些是const routes: Routes = [ { path: 'profile/:idC', component: AccountComponent }, { path: 'admin/list', component: ListComponent }, ]

中为App 2定义的路由
uploadPhoto() {

if(this.imagePath !== undefined || this.imagePath !== '') {
let loader = this.loadingCtrl.create({
      content: "Please wait..."
    });
    loader.present();

    //let filename = this.imagePath.split('/').pop();
    console.log('this.imagePath: ', this.imagePath)
    let filename = this.imagePath;
    let options = {
      fileKey: "file",
      fileName: filename,
      chunkedMode: false,
      mimeType: "image/jpg",
      params: {'location': this.location, 'title': this.postTitle, 'description': this.desc }
    };


    const fileTransfer = new Transfer();

    fileTransfer.upload(this.imageNewPath, AppSettings.API_UPLOAD_ENDPOINT,
      options).then((entry) => {
        this.imagePath = '';
        this.imageChosen = 0;
        loader.dismiss();
        this.navCtrl.setRoot(IncidentsPage);
      }, (err) => {
        alert(JSON.stringify(err));
      });
  }
} else {
    //do something else

}

我想保护普通用户免受管理员攻击,还可以通过单击浏览器上的特定URL保护其他用户。

我尝试使用JWT令牌,但无法正常工作,因为我未将后端API与/ api / auth的端点一起使用。

因此,欢迎提出保护路由以免在url浏览器上手动编辑的任何想法!

0 个答案:

没有答案