【问题标题】:Create my own authorization and authentication system in ASP.NET MVC在 ASP.NET MVC 中创建我自己的授权和身份验证系统
【发布时间】:2020-09-19 19:56:05
【问题描述】:

我正在开发一个 ASP.NET 项目,我想创建和使用我自己的授权和身份验证系统来管理用户(在 sql server 数据库中),例如登录、检查授权和检查身份验证,我知道ASP.NET 我们有 Identity 但我想创建自己的系统。

所以我的问题是,是否有人对自定义系统有好的算法或结构,或者只是和想法?

提前非常感谢。

【问题讨论】:

  • 搜索“ASP.NET MVC 中的自定义身份验证和授权”得到了什么结果?
  • 你想要什么和Identity不同?
  • 你想重新发明轮子,但又问如何造轮子……,为什么?你会得到什么,我的意思是这很好,但通常当这样做时......它完成了现有实现所具有的一些限制,也许你应该详细说明你将如何工作,那么更好和理解可能是所有人都有。

标签: c# asp.net asp.net-mvc entity-framework asp.net-identity


【解决方案1】:

你可以从简单的事情开始,用普通字段LoginPasswordAuthController创建一个User模型strong> 将有两个方法 RegisterUserSignIn

RegisterUser - 在这里您必须检查 Login 是否已经存在,如果不存在 - 将数据插入表 Users。重要的是 - 您必须选择算法来加密用户密码并将其保存在数据库中。

SignIn - 该方法还将通过登录名和密码检查用户是否存在于数据库中(通过您的算法从请求中加密密码并检查用户表中是否存在相同),如果他是 - 你必须创建一个令牌并将其作为响应返回(以授予对您的门户的访问权限)。

实际上我们可以将验证附加到模型(参见https://fluentvalidation.net/),通过电子邮件通知恢复密码逻辑等等。您可以在 Internet 上找到许多具有自定义授权和身份验证功能的示例。只需将您的功能分成几部分并在 Google 上搜索即可。

【讨论】:

  • 那是有益的用户,这是真正试图帮助和回答你问题的用户,而不是像哲学家那样。非常感谢兄弟,我想无限地感谢你,这给了我一个想法,非常感谢兄弟这对我帮助很大。
【解决方案2】:

您可以从 Identity Server 4 派生并创建自己的实现。他们有良好的基础来构建解决方案,并使用 OpenID 和 OAuth 与许多应用程序类型集成。 https://identityserver4.readthedocs.io/en/latest/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 2019-01-05
    相关资源
    最近更新 更多