Azure云服务,使用web.config拒绝访问子文件夹

时间:2015-01-28 11:29:41

标签: azure web-config windows-server-2008 azure-web-roles

我有我在本地Server 2008开发服务器上开发的PHP应用程序,然后将其推送到Azure云服务上的实时站点。一切正常。在我的一个子文件夹中,我有一个web.config文件,其中包含以下内容:

<configuration>
  <system.webServer>
      <security>
          <authorization>
              <remove users="*" roles="" verbs="" />
          </authorization>
      </security>
</system.webServer>

如果我尝试进入该文件夹,或者在我的开发服务器上查看浏览器中的任何文件,我会收到以下消息:

401 - Unauthorized: Access is denied due to invalid credentials.

哪个好极了!..如果我尝试转到我的实际网站上该文件夹中的文件,它会显示该文件。它完全忽略了web.config文件。我已连接到我的实时网站的正在运行的云实例,并且可以在其中看到web.config文件。

为什么在Azure上忽略它,但在我的开发站点上正常工作?

1 个答案:

答案 0 :(得分:-1)

如果其他人遇到同样的问题,您需要在根web.config / web.cloud.config中添加location元素。它需要直接在configuration元素中,如下所示:

<configuration>
    .....
    .....
    <location path="--folder or file--">
        <system.web>
          <authorization>
            <deny users="?"/>
          </authorization>
        </system.web>
    </location>
</configuration>