Asp.net-Mvc

ASP.Net MVC:在現有項目上從“無身份驗證”更改為“個人使用者帳戶”

  • June 2, 2021

我正在學習關於 ASP.Net MVC 的課程,並達到了課程依賴於標準的“註冊”和“登錄”功能的地步,當您在創建項目時選擇“個人使用者帳戶”時,Visual Studio 會自動建構這些功能。

顯然,較新版本的 Visual Studio 現在預設為“無身份驗證”。

我已經建構了很多東西,創建一個新項目並將所有東西都移過來會很痛苦。是否有更簡單的方法來更改身份驗證類型(並生成相應的頁面和控制器)?

(我不想手動添加身份和調整身份驗證過程,我希望獲得與創建設置了“個人使用者帳戶”的新項目相同的結果 - VS 創建預設控制器和視圖)

在第 6 步後插入一個您錯過的點。也感謝您的解決方案!

找到了解決方案!

  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
  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
  • \啟動.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

引用自:https://stackoverflow.com/questions/51773602