我正在研究ASP.NET项目,我想创建并使用自己的授权和身份验证系统来管理用户(在sql server数据库中),例如登录,检查授权和检查身份验证,我知道ASP.NET我们有Identity
,但我想创建自己的系统。
所以我的问题是,有没有人对自定义系统有好的算法或结构或公正性和想法?
非常感谢。
答案 0 :(得分:1)
您可以从简单的事情开始,创建具有普通字段登录,密码和 AuthController 的用户模型。 strong>,它将具有两种方法 RegisterUser 和 SignIn 。
RegisterUser -在这里您必须检查Login是否已经存在,如果不存在-将数据插入表 Users 中。重要的是-您必须选择算法来加密用户密码并将其保存在数据库中。
登录-一种方法,该方法还将通过数据库检查登录名和密码是否存在用户(通过算法请求对密码进行加密,并在“用户”表中检查密码是否存在),如果是-您必须创建令牌并作为响应返回它(以访问您的门户)。
实际上,我们可以将其验证附加到模型(请参见https://fluentvalidation.net/),通过电子邮件通知恢复密码逻辑等。您可以在Internet上找到许多具有自定义授权和身份验证功能的示例。只需将您的功能分成多个部分并进行谷歌搜索即可。
答案 1 :(得分:1)
您可以从Identity Server 4中派生并创建自己的实现。他们具有使用OpenID和OAuth从中构建解决方案并与许多应用程序类型集成的良好基础。 https://identityserver4.readthedocs.io/en/latest/