【问题标题】:Angular 6 - Authentication admin user and root userAngular 6 - 身份验证管理员用户和 root 用户
【发布时间】:2018-12-04 07:28:49
【问题描述】:

我创建了一个 MEAN 堆栈应用程序。我使用 Passport 模块设置了用户身份验证。我关注了这个tutorial。 这可以正常工作。

但是,我想添加管理员用户,并希望得到一些建议。 我想过在我的用户模型中添加一个参数,如下所示:

const userSchema = new Schema({
  _id: {
    type: Schema.Types.ObjectId,
    required: true
  },
  firstname: {
    type: String,
    required: true
  },
  lastname: {
    type: String,
    required: true
  },
  email: {
    type: String,
    unique: true,
    required: true
  },
  admin: {
    type: boolean,
    unique: true,
    required: true
  },
  hash: String,
  salt: String
});

这是个好主意还是有更好的方法?

【问题讨论】:

  • 这仅取决于您的应用程序的需求,但这是一个完全有效的解决方案。

标签: node.js angular express passport.js mean-stack


【解决方案1】:

是的,可以通过这种方式完成,通常我所看到的是他们有一系列角色。一个用户可能有不同的特权或不止一个。可以是用户 + 管理员,或者其他什么等等。取决于用例。

【讨论】:

    【解决方案2】:

    您可以这样做,并将其用作 Angular 防护的标准。在设计应用程序的其余部分时,请记住您的后端永远不应该信任您的客户端,因为它很容易被欺骗。只有服务器应该确定哪些角色属于每个经过身份验证的用户,并为您的 API 的每个端点授予正确的权限

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      相关资源
      最近更新 更多