我在Visual Studio 2015 Pro中创建了一个自定义ASP.NET MVC模板,默认情况下应该使用Windows身份验证。我注意到一个奇怪的行为,当从这个模板创建一个新项目时,项目属性窗口显示Windows身份验证被禁用,如果我尝试运行它,我会收到“拒绝访问”错误。原始项目在“属性”窗口中设置了正确的选项,模板中的web.config文件确实包含正确的身份验证标记(如下所示)。如果我进入并尝试在文本编辑器中编辑项目文件,则无法在任何地方提及禁用Windows身份验证。我已经验证这也发生在基本的MVC项目中,除了Windows身份验证设置之外没有任何变化,并且它发生在我们所有拥有VS的计算机上。
使用模板后,重建项目不会执行任何操作。我可以立即更改模式以使其工作,但更奇怪的是,如果我关闭并重新打开项目,设置将更改为“已启用”,它可以正常工作。这些解决方案都不可接受,因为它可能导致其他开发人员采用简单的解决方案进行疯狂追逐。我是否需要在模板中更改某些东西,以便Visual Studio识别这个或者这是一个错误?我还没有找到任何其他说明。
<authentication mode="Windows" />
<authorization>
<allow roles="MY_DOMAIN\Domain Users" />
<deny users="?" />
</authorization>