【问题标题】:how to implement ASP.NET Identity to an empty MVC project如何将 ASP.NET Identity 实现到一个空的 MVC 项目
【发布时间】:2025-12-25 06:25:06
【问题描述】:

我创建了一个新的空MVC 项目,我想向它添加身份。 现在我不知道如何做到这一点以及如何创建数据库、表和类。 我进行了搜索,但没有找到任何有用的解决方案来解决我的问题,我找到了一篇文章,用于将 ASP.NET Identity 添加到现有的空 ASP.NET Web 中,但对于 ASP.Net MVC 项目,我没有找到。
用于登录
报名表
用于将用户添加到角色
删除用户
如何在我自己的数据库中创建表
如何管理用户

【问题讨论】:

    标签: asp.net-mvc asp.net-identity


    【解决方案1】:

    您可以从 NuGet 库集成 ASP.NET 标识。您可以使用 NuGet 包管理器控制台安装这些包,如下所示:

    安装包 Microsoft.AspNet.Identity.EntityFramework – 版本 2.2.1

    安装包 Microsoft.AspNet.Identity.Core -Version 2.2.1

    安装包 Microsoft.AspNet.Identity.OWIN -Version 2.2.1

    除此之外,您只需使用默认模板创建一个单独的 MVC 项目,并在其中拥有用于实现 ASP.NET 标识的类和方法作为参考,因此也只需在新项目中使用这些类。

    如果您将现有数据库与 Entity Framework 与 Database first 方法一起使用,则为 ASP.NET 标识创建单独的连接字符串和数据上下文。因为带有 Edmx 的实体框架使用提供程序 System.Data.EntityClient 而 ASP.NET Identity 使用提供程序System.Data.SqlClient.

    【讨论】:

      【解决方案2】:

      通过以下方式打开 nuget 包管理器:

      Tools > Nuget Package Manager > Package Manager Console
      

      在一个新项目中[1]。从那里,您可以在PM> 旁边输入

      Install-Package Microsoft.AspNet.Identity.Samples -Pre 
      

      它将为您安装 Identity 示例。它会询问您是否允许它通过按“A”来更改您的webconfig,您接受所有更改。

      从那时起,您将安装示例身份项目!

      注意:它将更改默认命名空间,因此通过“查找和替换”,您可以快速将匹配项更改为您的项目名称(注意,您可能需要进入我的文档文件夹中的 global.aspx 页面- 在记事本中打开它并在那里更改命名空间!)


      [1]:如果你在开发之初不这样做,你会发现下面的文件会被覆盖(所以请确保你有办法将你的原件与新):

      Overwrite existing file 'Views\Web.config'.
      Overwrite existing file 'Views\Shared\Error.cshtml'.
      Overwrite existing file 'Views\Shared\_Layout.cshtml'.
      Overwrite existing file 'Views\Home\Index.cshtml'.
      Overwrite existing file 'Views\_ViewStart.cshtml'.
      Overwrite existing file 'Global.asax.cs'.
      Overwrite existing file 'Global.asax'.
      Overwrite existing file 'Controllers\HomeController.cs'.
      Overwrite existing file 'Content\Site.css'.
      Overwrite existing file 'App_Start\RouteConfig.cs'.
      Overwrite existing file 'App_Start\FilterConfig.cs'.
      Overwrite existing file 'App_Start\BundleConfig.cs'.
      

      【讨论】:

      • 我试过这个,直到我选择它才找到包:包源:窗口顶部的下拉列表中的全部。
      • 我这样做了,身份工作正常。现在如何使用身份样本将 localdb 更改为 mysql?
      【解决方案3】:

      【讨论】:

      【解决方案4】:

      以下文章向您介绍了将 ASP.NET 标识添加到应用程序的基础知识。 http://www.asp.net/identity/overview/getting-started/adding-aspnet-identity-to-an-empty-or-existing-web-forms-project

      【讨论】:

      最近更新 更多