【问题标题】:ASP.Net MVC: Change from "No Authentication" to "Individual User Accounts" on existing projectASP.Net MVC:在现有项目上从“无身份验证”更改为“个人用户帐户”
【发布时间】:2019-01-17 07:22:58
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您使用的是哪个版本的 .NET 框架?
  • 不是重复的。我已经将 Identity 添加到我的项目中。我希望为我生成视图和控制器,就好像我正在使用“个人用户帐户”身份验证从头开始创建一个新项目一样。
  • 使用框架 4.6.1
  • 这是我发现的最接近的添加了本机“注册”和“登录”,但链接到“AccountController.cs”、“ManageController.cs”、“HomeController.cs”的内容的链接。 cs" 坏了:jeremiahstillings.net/…

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


【解决方案1】:

在第 6 步后插入一个您错过的点。也感谢您的解决方案!

找到了解决办法!

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

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

  • 安装包实体框架
  • 安装包EntityFramework.SqlServerCompact
  • 安装包 Microsoft.AspNet.Identity.Core
  • 安装包 Microsoft.AspNet.Identity.EntityFramework
  • 安装包 Microsoft.AspNet.Identity.Owin
  • 安装包 Microsoft.AspNet.WebApi.Client
  • 安装包 Microsoft.Owin.Host.SystemWeb
  1. 将以下文件从虚拟项目复制到实时项目(显然,并将它们添加到解决方案中):
  • \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
  1. 将这些文件添加到解决方案后,根据实际项目更改其命名空间(全部替换)。

  2. 打开“IdentityModels.cs”并更改“ApplicationDbContext”中的 ConnectionString 以匹配您的实时版本(如在 Web.config 中)

  3. 打开您的 \Views\Shared_Layout.cshtml 文件并添加

    @Html.Partial(“_LoginPartial”)

7) 将 Dummy 项目的 Web.config 中的 ... 复制到主项目。(您错过了这一点,可能会导致无法创建数据库等问题)

  1. 编译和测试。你应该准备好了!

所有致谢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

【讨论】:

    【解决方案2】:

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

    Adding ASP.NET MVC5 Identity Authentication to an existing project

    【讨论】:

    • 我已经将 Identity 添加到我的项目中。当您使用“个人用户帐户”身份验证类型从头开始创建新项目时,我希望拥有 VS 自动生成的视图和控制器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2021-07-11
    • 2018-03-18
    相关资源
    最近更新 更多