我整个下午都在用这个烦人的问题撞到一堵砖墙。我部署的MVC应用程序无法在我的服务器上运行。当我尝试访问该网站时,我收到了Windows auth用户名和密码框。
我不能为我的生活弄清楚为什么,谷歌搜索没有产生我的问题的答案。一切都是“在IIS中启用匿名用户”。我在IIS中的所有设置都是正确的,我无法弄清楚到底发生了什么。
我想通了,虽然我会在这里发布一个Q& A,希望有一天它可以拯救我今天所面临的愤怒和沮丧的泪水。
答案 0 :(得分:0)
最后,我自己的愚蠢导致了这个问题。
网站正在使用表单身份验证,我的控制器使用[Authorize]
属性进行修饰。
但是,在部署到我的服务器期间以及我的构建配置正在执行的配置转换期间,Web配置中的<authentication>
部分正在丢失,因此当具有[Authorize]
属性的控制器是被点击,ASP.NET不知道使用什么类型的身份验证,所以它回退到集成的Windows身份验证!
只需坚持使用身份验证属性即可。