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

时间:2018-08-09 18:24:09

标签: asp.net-mvc authentication visual-studio-2017

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

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

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

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

2 个答案:

答案 0 :(得分:7)

找到了解决方案!

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”) 

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

答案 1 :(得分:0)

您将需要使用nuget将Identity安装到项目中。这是您可以遵循的一个很好的StackOverflow线程-

Adding ASP.NET MVC5 Identity Authentication to an existing project