9

我使用Individual User Accounts身份驗證創建了Internet MVC應用程序,但現在該項目應該是使用Windows身份驗證的Intranet ...如何在項目即將完成時切換身份驗證?我不是MVC的大師,這對我來說是新技術,所以任何幫助,如果可能的話,所有的步驟在描述=)如何在MVC應用程序中切換身份驗證?

回答

11

在你項目的Web.config。第一步是改變:

<authentication mode="Forms"> 
</authentication> 

<authentication mode="Windows"> 
</authentication> 

選擇項目,打F4的屬性窗口,您可以更改身份驗證方法。

的但是不是我在這裏將一步一步只是用這個很容易理解教程: Enabling Windows Authentication

2

恐怕我有點晚了我的回答對你如何是問題實現SwitchUser功能,但對於那些仍在爲此苦苦掙扎的人(即使Microsoft SharePoint仍然無法實現它......),下面是它是如何完成的:(我剛寫完文章)

Switch User Functionality using MVC4 and Windows Authentication

如果您需要更多關於如何ge牛逼Windows身份驗證workong使用AD和Windows Server 2012(或更高版本)Intranet網站,然後看看我下面的文章:

Windows Authentication on Intranet Website using AD and Windows Server 2012 (or Higher)

編碼愉快!

+0

謝謝。這可能會有所幫助。 – Bryuk

2

因爲我通過谷歌嘗試了同樣的事情發現了這個問題,並且Firearm的鏈接並沒有完全執行正義流程,所以我會嘗試列出我在這裏經過的步驟。很明顯,如果我告訴你刪除某些東西,那隻會意味着如果你沒有使用它。我不認爲你必須按照任何特定的順序來完成這些步驟。 另外,我正在使用實體框架,所以你必須看看其他地方刪除它。

  1. 在解決方案資源管理器中,高亮顯示您的項目並按f4。這將調出該項目的屬性窗口。禁用匿名身份驗證。啓用Windows身份驗證。
  2. 工具 - > NuGet程序包管理器 - >管理NuGet程序包的解決方案...卸載任何與「owin」的名稱,Microsoft.AspNet.Identity.EntityFramework和Microsoft.AspNet.Identity.Core。
  3. 打開您的Web.config。在運行時,在assemblyBinding下,刪除所有留下的Owin東西的dependentAssembly。在system.web下,將<authentication mode="None" />替換爲<authentication mode="Windows" /> <authorization> <deny users="?" /> </authorization>。在system.webServer下,刪除handlers。在模塊下,刪除<remove name="FormsAuthentication" />
  4. 刪除帳戶和管理控制器和視圖。從您的模型中刪除ManageViewModels
  5. 在App_Start下,擺脫IdentityConfigStartup.Auth
  6. 在頂層,您的web配置旁邊是Startup.cs。擺脫它。
  7. 建立一個新的ApplicationDbContext。它應該從DbContext派生。擺脫您的構造函數中的throwIfV1Schema: false。然後你可以從Models文件夾中刪除IdentityModels。添加一個新的遷移並更新您的數據庫。
  8. 很顯然,您必須清除您爲自己創建的任何引用。
2

搜索完全相同的問題導致我這篇文章,但答案是有點老了,所以用ASP.NET MVC使用5,這應該是來自微軟的詳細文檔:

  1. 要檢測Windows身份驗證在MVC項目中,該向導將從您的web.config文件中查找authentication元素。

    <configuration> 
        <system.web> 
         <authentication mode="Windows" /> 
        </system.web> 
    </configuration> 
    
  2. 要在Web API項目檢測Windows身份驗證,嚮導尋找從項目的的.csproj文件IISExpressWindowsAuthentication元素:

    <Project> 
        <PropertyGroup> 
         <IISExpressWindowsAuthentication>enabled 
         </IISExpressWindowsAuthentication> 
        </PropertyGroup> 
    </Project> 
    

Diagnosing errors with the Azure Active Directory Connection Wizard

找到

對於我的具體問題,它切換到Azu而不是Windows身份驗證(已預先設置),在開發人員網絡網站上找到更多步驟。

相關問題