如何在新的 ASP.NET Core 7 项目中选择身份验证类型?

13 c# asp.net-core visual-studio-2022

我想了解如何创建具有用户的 ASP.NET Core MVC 7 应用程序。

当我创建新的 ASP.NET Core Web 应用程序时,系统会询问我要使用哪种类型的身份验证类型:

附加信息截图

我以前从未这样做过,所以我真的不知道。小“信息”圈也没有任何帮助。

认证方式

我刚刚学习,所以不需要支付 Azure 云数据库服务的费用。我找到了一些教程,但它们似乎都是针对旧版本的,比如 MVC 3 的这个:

https://learn.microsoft.com/en-us/aspnet/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-7

Microsoft 在此处提供了 ASP.NET Core 7 教程:

https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/start-mvc?view=aspnetcore-7.0&tabs=visual-studio

但是,他们选择选择“无”作为身份验证。它确实说:

有关详细信息,包括创建项目的替代方法,请参阅在 Visual Studio 中创建新项目

但是,在 Visual Studio 中创建新项目的链接也使用 None 作为身份验证。

这里有一些答案谈论它:

如何在asp.net core中获取当前用户

但是,没有人说从哪里开始。

我是新手,所以我真的不知道从哪里开始。

理想情况下,我希望将我的用户存储在 Microsoft SQL 数据库中。

Bra*_*ang 33

四种身份验证类型应如下所示:

无身份验证:此选项将创建没有身份验证的应用程序。您必须实现自己的身份验证逻辑。

个人用户帐户:此选项将创建一个使用 ASP.NET Identity 进行用户身份验证的应用程序。它提供开箱即用的注册、登录和密码重置功能。请注意:这将使用连接字符串将所有用户信息存储在sql server中。

Microsoft 身份平台:此选项将创建一个使用 Azure Active Directory (Azure AD) 进行身份验证的应用程序。适用于需要企业认证的应用。

Windows 身份验证:此选项将创建使用 Windows 身份验证的应用程序。适合内联网应用。

如果您使用个人用户帐户创建应用程序,您可以修改appsetting.json的连接字符串中的连接字符串,然后无需修改其他内容,asp.net core将自动将身份集成到应用程序中。

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-Core7Identity-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}
Run Code Online (Sandbox Code Playgroud)

  • 这比 Microsoft Visual Studio 更能说明问题!谢谢。此外,看起来在创建项目后向项目添加身份验证是如此复杂,以至于微软甚至没有讨论它。他们只是说开始一个新项目。 (6认同)
  • 当我将鼠标悬停在“i”上时,没有信息/弹出模型。感谢您的详细帖子。 (5认同)