当运行MVC 4应用程序时,首先进入登录页面,使用Windows身份验证。
当运行MVC 4应用程序时,首先进入登录页面,使用Windows身份验证。
我目前正在开发一个项目,使用Windows身份验证来授权用户并设置他们的特定权限。然而,每次运行程序进行测试时,由Visual Studio在创建项目时创建的默认登录页面(/Account/Login)总是首先出现,而不是转到Home/Index。当我启动它时,URL通常是http://localhost:50848/Account/Login?ReturnUrl=%2fViews%2fHome%2fIndex.cshtml
,而不仅仅是http://localhost:50848
。我还应该注意到,程序在屏幕上获取了正确的Windows身份验证,所以我知道这部分是有效的。
在我的设置中是否有什么可以改变以阻止这个额外的登录界面弹出的?我正在使用Visual Studio 2012,IIS Express和MVC 4。相关代码:
Web.config
IIS Express applicationhost.config
是的,我已经将Windows身份验证更改为'enabled',将匿名身份验证更改为'disabled'。
问题的出现原因是在创建一个MVC ASP.NET应用程序时,会生成两个web.config文件。作者之前的更改是放在错误的web.config文件中(即在views文件夹下的那个),而不是应用程序的主要web.config文件中。通过将原问题中的更改应用到另一个配置文件中,应用程序就可以按预期工作了。
解决方法:将更改应用到正确的web.config文件中。
关于这两个web.config文件的更多信息,请参考这个Stack Overflow的问题:Why does .NET generate two web.config files in an MVC asp.net application?