2017-07-25 63 views
0

現在任何人都可以訪問我的assetshttp://localhost:4200/assets/filename.pdf,即使在不登錄的用戶,如何保護利用canActivateassets如何保護角CLI資產canActivate

像這樣的理想:{ path: 'assets/*', canActivate: [LoginService] },

感謝。

+0

我希望我們做不到。 canActive用於路由目的。 https://blog.thoughtram.io/angular/2016/07/18/guards-in-angular-2.html – k11k2

回答

1

不可以。您想使用服務器端身份驗證和授權來保護文件訪問。

始終假定任何人都可以訪問Angular應用程序中的資產。

+0

因此,你會建議我移動資產,這些資產不應該被「資產」外的註銷用戶訪問文件夾並使用'node.js'來保護他們的訪問? – ilovelamp

+0

@ilovelamp是的。使用'node.js'或任何其他服務器端技術來保護用戶應被授權訪問的任何文件或記錄。 – Martin

1

您想要通過後端進行身份驗證,但您還希望使用canActivate和AuthGuard之類的設置在Angular中設置路由,以便唯一可以訪問的初始路由是登錄路由/組件。這樣,在登錄認證發生之前,沒有其他資產/路線可用。