【问题标题】:How to Protect Angular CLI Assets with canActivate如何使用 canActivate 保护 Angular CLI 资产
【发布时间】:2017-07-25 21:14:22
【问题描述】:

现在任何人都可以通过http://localhost:4200/assets/filename.pdf 访问我的assets,即使用户没有登录。如何使用canActivate 保护我的assets

这样的东西会很理想:{ path: 'assets/*', canActivate: [LoginService] },

谢谢。

【问题讨论】:

标签: angular angular2-routing angular-cli


【解决方案1】:

没有。您想使用服务器端身份验证和授权来保护文件访问。

始终假设任何人都可以访问您的 Angular 应用程序中的资产。

【讨论】:

  • 因此,您会建议我将注销的用户不应访问的资产移到 assets 文件夹之外,并使用 node.js 之类的东西来保护他们的访问权限?
  • @ilovelamp 是的。使用node.js 或任何其他服务器端技术来保护用户应有权访问的任何文件或记录。
  • @Martin,如果我想禁止访问 localhost:4200/assets 并查看我所有的网站资产,我应该设置该特定路径并重定向到自定义页面吗?
【解决方案2】:

您想通过后端进行身份验证,但您还想使用 canActivate 和 AuthGuard 之类的东西在 Angular 中设置您的路由,以便唯一可以访问的初始路由是登录路由/组件。这样,在登录身份验证发生之前,没有其他资产/路由可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2021-08-28
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多