【问题标题】:Angular2 with LOCAL authentication instead of server-based具有本地身份验证而不是基于服务器的 Angular2
【发布时间】:2016-07-09 13:43:42
【问题描述】:

我有一个 Angular2 应用程序,它需要用户名/密码验证才能工作。现在,我通过 JWT 和使用 mongodb 的 nodejs 服务器执行此操作,它运行良好。

我在想:在我的应用程序中,我不需要添加/删除用户,只会有两个角色:管理员和普通用户,显然管理员可以做用户不能做的事情。由于我不需要用户管理,有没有办法可以删除我的 nodejs 服务器并将登录的用户存储在 Angular 应用程序中?让我怀疑的是,如果我将密码存储在应用程序中,有一点经验的用户可以在运行时更改 javascript 对象并设置管理员密码以获得管理员权限。

你怎么看?

【问题讨论】:

  • 除非您使用服务器,否则您放入客户端的任何内容都是不安全的,任何人都可以访问。

标签: node.js authentication angular


【解决方案1】:

保存客户端唯一身份验证不可能。客户端和服务器端 Web 应用程序代码之间的区别在于,用户可以在未经许可的情况下在客户端执行代码。这意味着您的应用程序可以使用 JavaScript 执行任何操作,用户只需在浏览器中打开开发者工具即可。

轻量级选项是专用的后端身份验证。诸如 FirebaseGoogle OAuth 之类的服务提供了简单的方法来对您的应用程序的用户进行身份验证。

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    相关资源
    最近更新 更多