ASP.Net MVC:在现有项目上从“无身份验证”更改为“个人用户帐户”

Jai*_*ira 5 authentication asp.net-mvc visual-studio-2017

我正在学习有关ASP.Net MVC的课程,并且达到了该课程依赖标准的“注册”和“登录”功能的功能,在创建项目时选择“单个用户帐户”时,Visual Studio会自动构建这些功能。

显然,Visual Studio的较新版本现在默认为“无身份验证”。

我已经建立了很多东西,创建一个新项目并移走所有东西会很痛苦。有没有更简单的方法来更改身份验证类型(并生成相应的页面和控制器)?

(我不想添加身份并手动调整身份验证过程,我希望得到与创建带有“个人用户帐户”设置的新项目相同的结果-使用VS创建默认控制器和视图)

Jai*_*ira 11

找到了解决方案!

1)创建一个相同类型的新虚拟项目,但是选择了“个人用户帐户”身份验证类型。这将生成您需要的文件。

2)在当前项目(具有“无身份验证”)上,使用程序包管理器控制台添加以下引用(您尚未使用的引用):

  • 安装包EntityFramework
  • 安装包EntityFramework.SqlServerCompact
  • 安装包Microsoft.AspNet.Identity.Core
  • 安装包Microsoft.AspNet.Identity.EntityFramework
  • 安装包Microsoft.AspNet.Identity.Owin
  • 安装包Microsoft.AspNet.WebApi.Client
  • 安装包Microsoft.Owin.Host.SystemWeb

3)将以下文件从虚拟项目复制到活动项目(显然,将它们添加到解决方案中):

  • \ App_Start \ IdentityConfig.cs
  • \ App_Start \ Startup.Auth.cs
  • \ Controllers \ AccountController.cs
  • \ Controllers \ ManageController.cs
  • \ Models \ AccountViewModels.cs
  • \ Models \ IdentityModels.cs
  • \ Models \ ManageViewModels.cs
  • \ Views \ Accounts \(整个内容)
  • \ Views \ Manage \(整个内容)
  • \ Views \ Shared \ _LoginPartial.cshtml
  • \ Startup.cs

4)将这些文件添加到解决方案后,根据现场项目更改其名称空间(全部替换)。

5)打开“ IdentityModels.cs”并在“ ApplicationDbContext”中更改ConnectionString以匹配您的实时字符串(如在Web.config中)

6)打开\ Views \ Shared_Layout.cshtml文件并添加

@Html.Partial(“_LoginPartial”) 
Run Code Online (Sandbox Code Playgroud)

7)编译和测试。你应该准备好了!

所有功劳归https://chiroldes.wordpress.com/2015/04/02/agregando-asp-net-identity-a-un-proyecto-mvc-sin-validacion-autenticacion-o-autorizacion-de-usuarios/comment -page-1 /#comment-13