我需要在MERN堆栈中实现一个登录系统,其中将有三种类型的登录。1.管理员登入2.学生登录3.教职员登录
管理员登录将有一个预定义的用户名和密码(比如admin & admin@123 resp)。如果needed.The教职员工和学生只能在管理员从他的dashboard.The学生中添加新的学生或教员时才能登录,则可以更改该名称,并且教员的用户名将是学院的注册号码,密码是出生日期。
我遇到的所有教程都是关于注册和身份验证的&因为注册不是这个项目的一部分,所以我想知道我应该如何处理这个特性。
我使用mongodb作为数据库。
发布于 2020-02-02 13:43:44
这里有很多事情要做:
(重要的安全提示使用出生日期作为密码是一个非常糟糕的主意。为什么?如果一个网络爬虫闯入你的数据库,他会有一个名单的名字和日期-出生。这些对于窃取用户的身份非常有用。他们也被认为是个人身份的信息,因此,他们涵盖在GDPR和加州消费者隐私法案。但你没问这个..。)
让我们一个接一个地接受你的要求。
1-认证。这是一个简单的用户名/密码方案。为此,请使用护照模块及其本地策略。
2-授权。当您查找时,用户也会查找她的特权级别(同样是管理员、教员或学生)。“护照”为您的用户提供一个会话cookie,以便他们继续登录。
在显示任何页面或接受用户的任何API请求或表单发布之前,请检查授权级别。如果不允许用户使用特定功能,则发送403错误消息,而不是显示页面或接受表单。
3-登记。您需要一个创建/替换/更新/删除用户的表单(称为CRUD表单)。此表单必须仅供您的管理员访问。
顺便说一句,所有这些都发生在您的节点/快速服务器上。您的request客户端必须与每个请求一起传递护照生成的会话cookie,这样服务器就可以查找用户来检索授权。
以这种结构化的方式思考自己的需求,应该可以帮助您应用从各种在线教程中学到的东西。
https://stackoverflow.com/questions/60026352
复制相似问题