IIS表达对ApplicationHost.config安全复位每次解决方案在VS2012打开时(I

2019-06-27 05:14发布

我有一个MVC4应用程序在使用窗体身份验证VS2012开发。

[authentication mode="Forms"]
  [forms loginUrl="~/Account/Login" timeout="2880" /]
[/authentication]

它使用默认的IIS 8.0快递。

我每次打开并运行该应用从VS中我得到的消息:

HTTP错误401.2 - 未授权

您无权查看此页面由于无效的认证头。

我发现,为了避免这种画面我在[用户文档]更改为ApplicationHost.config文件的安全部分的“真”的anonymousAuthentication和windowsAuthentication键\ IISExpress \ config文件夹到:

[system.webServer]
  [security]
    [authentication]
      [anonymousAuthentication enabled="true" /]
      [windowsAuthentication enabled="true" /]
    [/authentication]
  [/security]
[/system.webServer]

但每次我重新打开VS解决方案的键重置为false。

我怎样才能使将永久设置为true?

我试图把应用程序的web.config的关键,但后来我收到消息:

HTTP错误500.19 - 内部服务器错误

所请求的页面无法访问,因为该页的相关配置数据无效。

任何帮助人?

Answer 1:

如果问题是,Visual Studio中的对ApplicationHost.config打开解决方案时更新两个设置,您可以通过选择项目在Solution Explorer解决它,查看属性窗格(可当你在调试模式不是)和设置为Enabled两项匿名身份验证Windows身份验证

顺便说一句,在我的情况,参数生成的401.2错误只是匿名身份验证 ,您可能想尝试离开默认的一个Windows身份验证。

(PS,您的文章解决了这个问题了401.2真的救了我的一天,所以非常感谢它!)



Answer 2:

你可以通过改变编辑IIS认证模式

  1. 中IIS \我的文档\ IISExpress \设置\对ApplicationHost.config属性

  2. 在Visual Studio项目属性

第二个选项是你的答案。

与截图一个完整的答案已经在计算器: https://stackoverflow.com/a/7168308/2988788



Answer 3:

通常,您可以使用Windows与您的域名为您的电脑名称和您的Windows帐户/密码帐户。 例如PC机\用户名也加入IISUSR为您的安全设置的帐户。



文章来源: IIS express applicationhost.config security is reset every time a solutions is opened in VS2012