Angular 6 - 身份验证管理员用户和 root 用户
Posted
技术标签:
【中文标题】Angular 6 - 身份验证管理员用户和 root 用户【英文标题】:Angular 6 - Authentication admin user and root user 【发布时间】: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
);
这是个好主意还是有更好的方法?
【问题讨论】:
这仅取决于您的应用程序的需求,但这是一个完全有效的解决方案。 【参考方案1】:是的,可以通过这种方式完成,通常我所看到的是他们有一系列角色。一个用户可能有不同的特权或不止一个。可以是用户 + 管理员,或者其他什么等等。取决于用例。
【讨论】:
【参考方案2】:您可以这样做,并将其用作 Angular 防护的标准。在设计应用程序的其余部分时,请记住您的后端永远不应该信任您的客户端,因为它很容易被欺骗。只有服务器应该确定哪些角色属于每个经过身份验证的用户,并为您的 API 的每个端点授予正确的权限
【讨论】:
以上是关于Angular 6 - 身份验证管理员用户和 root 用户的主要内容,如果未能解决你的问题,请参考以下文章
在 Angular 2/4 应用程序上对用户进行身份验证后的动态角色和权限
带有 HTTP 基本身份验证的 Angular 6 HTTP Get 请求
带有 Angular 6 的 Asp.Net Core 2.1 中的 Windows 身份验证 - Chrome 连续登录提示