2013-10-11 33 views
5

我將我的項目遷移到MVC 5,並且我剛安裝了Visual Studio 2013 RC。據我所見,在App_Start目錄中必須有一個名爲IdentityConfig.cs的文件,但即使我創建了新項目,該文件也會丟失。我在想,也許它可能是關於我使用的Visual Studio版本。無論如何要解決這個問題嗎?IdentityConfig在MVC 5中缺失5

另外,我無法將角色或成員資格提供者添加到web.config。我如何使用IdentityConfig來做到這一點?

+0

您是否按照[遷移指南](http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-項目到ASPNET-MVC-5和Web的API-2)? – Stijn

+0

仍然在遷移,但事情是,即使我打開一個新的空項目,它缺少IdentityConfig.cs。 – Cromwell

+0

是什麼讓你認爲該文件應該在那裏?你有沒有讀過那個地方? – Stijn

回答

6

IdentityConfig.cs不再需要,並且在RC版本中被刪除。這在文章「Introducing ASP.NET Identity」中討論。這裏是這篇文章的相關片段。

以下是從1.0.0-α1的顯着變化 - 1.0.0-β1

  • 在這些模板,你不再需要IdentityConfig.cs
  • 許多公共API,用於重命名被改變並重構代碼。
  • 支持被添加到框架。
+0

查看官方NuGet ASP.NET身份示例,他們使用* IdentityConfig *文件來處理DatabaseInitializers,其他身份驗證提供程序(例如,Two Factor,Facebook等)的註冊以及定義他們自己的ApplicationUserManager,ApplicationRoleManager等等。所以,現在沒有這個文件,我想知道現在人們把這些東西放在哪裏的「最佳實踐」或一般約定是什麼? – Funka

+2

@Funka - 良好的觀察。 ASP.NET身份團隊已在2.x版本示例中重新引入IdentityConfig.cs。這仍然不是必需的,但是這個團隊選擇投入大量資金來使樣本運作。最佳實踐?乍一看似乎並不是這樣,但我必須更詳細地回顧它以提供更好的答案。 –

0

OlavNybø(click here)的項目沒有給出確切的答案,但至少我找到了替代答案我的問題。

+0

這個替代答案是什麼? – vbullinger

3

你應該找到App_Start是Startup.Auth.cs文件中配置該網站的認證/授權中間件。

ASP.NET MVC 5不使用自ASP.NET 2.0以來一直存在的角色提供者和成員提供者。你仍然可以將這些配置成一個網站,但是你可能想要擺脫中間件。

通過中間件,我的意思是大部分authz功能正在進入OWIN中間件for ASP.NET。在一個新的MVC 5項目中,StartupAuth.cs文件和AccountController向你展示了一切如何一起工作,儘管它沒有很好的記錄。