我使用Individual User Accounts
身份验证创建了Internet MVC应用程序,但现在这个项目应该是带有Windows身份验证的Intranet ...如何在项目完成时切换身份验证?我不是MVC的大师,这对我来说是新技术,所以任何帮助请尽可能地说明所有步骤=)
答案 0 :(得分:14)
在你项目的Web.config中。第一步是改变:
<authentication mode="Forms">
</authentication>
到
<authentication mode="Windows">
</authentication>
选择项目并在属性窗口中点击F4可以更改身份验证方法。
然而,不是我在这里一步一步地使用这个非常容易遵循的教程: Enabling Windows Authentication
答案 1 :(得分:5)
由于我通过谷歌尝试同样的事情发现了这个问题,并且Firearm的链接并没有完全正确的过程,我将尝试列出我在这里经历的步骤。显然,如果我告诉你删除某些东西,那只会意味着你不使用它。我认为您不必按任何特定顺序执行这些步骤。 此外,我正在使用实体框架,因此您必须寻找其他地方删除它。
<authentication mode="None" />
替换为<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
。在system.webServer下,删除handlers
。在模块下,删除<remove name="FormsAuthentication" />
。ManageViewModels
。IdentityConfig
和Startup.Auth
。throwIfV1Schema: false
。然后你可以从Models文件夹中删除IdentityModels
。添加新迁移并更新数据库。答案 2 :(得分:3)
搜索完全相同的问题导致我阅读本文,但是答案有点陈旧,所以使用MVC 5的ASP.NET应该是Microsoft的详细文档:
要在MVC项目中检测Windows身份验证,向导会从 web.config 文件中查找authentication
元素。
<configuration>
<system.web>
<authentication mode="Windows" />
</system.web>
</configuration>
要在Web API项目中检测Windows身份验证,向导会从项目的 .csproj 文件中查找IISExpressWindowsAuthentication
元素:
<Project>
<PropertyGroup>
<IISExpressWindowsAuthentication>enabled
</IISExpressWindowsAuthentication>
</PropertyGroup>
</Project>
找到 Diagnosing errors with the Azure Active Directory Connection Wizard
对于我的具体问题,它是切换到Azure AD而不是Windows身份验证(已预设),在开发人员网络网站上找到了更多步骤。
答案 3 :(得分:2)
我担心我对你的回答有点迟,对如何实现SwitchUser功能提出疑问,但对于那些仍在努力解决这个问题的人(即使是Microsoft SharePoint仍然如此)不能让它工作......),这里是如何完成的:(我刚写完文章)
Switch User Functionality using MVC4 and Windows Authentication
如果您需要有关如何使用AD和Windows Server 2012(或更高版本)获取Intranet网站的Windows身份验证工作的更多信息,请查看我的以下文章:
Windows Authentication on Intranet Website using AD and Windows Server 2012 (or Higher)
快乐的编码!