首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在React.JS & Node.JS中实现登录系统

在React.JS & Node.JS中实现登录系统
EN

Stack Overflow用户
提问于 2020-02-02 13:00:18
回答 1查看 1.8K关注 0票数 0

我需要在MERN堆栈中实现一个登录系统,其中将有三种类型的登录。1.管理员登入2.学生登录3.教职员登录

管理员登录将有一个预定义的用户名和密码(比如admin & admin@123 resp)。如果needed.The教职员工和学生只能在管理员从他的dashboard.The学生中添加新的学生或教员时才能登录,则可以更改该名称,并且教员的用户名将是学院的注册号码,密码是出生日期。

我遇到的所有教程都是关于注册和身份验证的&因为注册不是这个项目的一部分,所以我想知道我应该如何处理这个特性。

我使用mongodb作为数据库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-02 13:43:44

这里有很多事情要做:

  1. 身份验证:接受和检查用户名和密码
  2. 授权:一旦用户对自己进行了身份验证,就给她分配适当的特权级别(在您的情况下,管理员、教员、学生)。
  3. 注册:在您的系统中,只有管理员才能注册新用户。这与某些允许自我注册的系统不同.根据你的要求,你的不需要。

(重要的安全提示使用出生日期作为密码是一个非常糟糕的主意。为什么?如果一个网络爬虫闯入你的数据库,他会有一个名单的名字和日期-出生。这些对于窃取用户的身份非常有用。他们也被认为是个人身份的信息,因此,他们涵盖在GDPR和加州消费者隐私法案。但你没问这个..。)

让我们一个接一个地接受你的要求。

1-认证。这是一个简单的用户名/密码方案。为此,请使用护照模块及其本地策略。

2-授权。当您查找时,用户也会查找她的特权级别(同样是管理员、教员或学生)。“护照”为您的用户提供一个会话cookie,以便他们继续登录。

在显示任何页面或接受用户的任何API请求或表单发布之前,请检查授权级别。如果不允许用户使用特定功能,则发送403错误消息,而不是显示页面或接受表单。

3-登记。您需要一个创建/替换/更新/删除用户的表单(称为CRUD表单)。此表单必须仅供您的管理员访问。

顺便说一句,所有这些都发生在您的节点/快速服务器上。您的request客户端必须与每个请求一起传递护照生成的会话cookie,这样服务器就可以查找用户来检索授权。

以这种结构化的方式思考自己的需求,应该可以帮助您应用从各种在线教程中学到的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60026352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档