2016-10-29 6 views
-1

私はAngular2を使用してアプリケーションを書いていますし、それはアプリケーションの一部の管理セクションを保護することになると、私はAngular2のウェブサイトで提案されたアプローチに従うことを計画:https://angular.io/docs/ts/latest/guide/router.html#guardsユーザーがAngular2アプリケーションコードを変更できないようにするメカニズムはありますか?

だから私はこのようなクラスになってしまいます。

@Injectable() 
export class AuthGuard implements CanActivate, CanActivateChild { 
    constructor(private authService: AuthService, private router: Router) {} 

    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { 
     // Use my service to determine if user is logged in and has credentials 
     return this.authService.canHaveAccess(); 
    } 
} 

は、一度それがcanHaveAccessへの呼び出しをバイパスし、代わりに常にtrueを返すようにcanActivate方法を再定義するためにユーザを防ぐためだろうか、JSコードにtranspiledと私のユーザーのブラウザ上で実行しますか?

答えて

3

何もありません。

あなたのアプリケーションが安全であるようにユーザーのブラウザのコードに依存していると、あなたは運命を辿ります。

サーバーでセキュリティを強化する必要があります。ブラウザガードでは、ユーザーにとって利便性のないオプションやフォームは表示されませんが、そのような対策はセキュリティに関しては無関係です。

関連する問題