允许匿名身份验证在web.config中一个文件夹?允许匿名身份验证在web.config中一个文件

2019-05-13 16:40发布

因此,这里的情况,我有一个使用自定义身份验证和成员提供一个Asp.Net应用程序,但我们需要让应用程序内完全匿名访问(IE)到特定的文件夹中。

在IIS管理器,您可以设置文件夹的身份验证模式,但设置保存中C:\Windows\System32\inetsrv\config\applicationHost.config文件如这里所描述

为了使安装更容易,这将是巨大的,如果我可以设置这个我的web.config中但几次尝试后,我想这是不可能的。

有谁知道,否则?

非常感谢

Answer 1:

使用<location>配置标记和<allow users="?"/>只有匿名来允许或<allow users="*"/>所有的:

<configuration>
   <location path="Path/To/Public/Folder">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>


Answer 2:

采取第一种方法是使用修改你的web.config <location>配置标记和<allow users="?"/>允许匿名或<allow users="*"/>所有的:

<configuration>
   <location path="Path/To/Public/Folder">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>

如果这种方法不起作用,那么你可以采取以下方法这需要做一个小的修改到IIS的applicationHost.config。

首先,anonymousAuthentication节的overrideModeDefault从 “拒绝” 更改C到 “允许”:\ WINDOWS \ SYSTEM32 \ INETSRV \设置\的applicationHost.config:

<section name="anonymousAuthentication" overrideModeDefault="Allow" />

overrideMode是IIS的安全功能。 如果倍率在的applicationHost.config系统级别不允许再有什么可以在web.config中做来启用它。 如果你没有在目标系统上这个级别的访问权限,你必须采取与您的托管服务提供商或系统管理员的讨论。

二,设置完成后overrideModeDefault="Allow" ,那么你可以把你的web.config如下:

<location path="Path/To/Public/Folder">
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="true" />
      </authentication>
    </security>
  </system.webServer>
</location>


Answer 3:

<location path="ForAll/Demo.aspx">
 <system.web>
  <authorization>
    <allow users="*" />
  </authorization>
 </system.web>
</location>

另外:如果你想通过网站来编写文件夹的东西,你必须给IIS_User权限的文件夹



Answer 4:

为了使它工作,我建立我的目录是这样的:

项目公共限制

所以我编辑我的webconfig我的公用文件夹:

<location path="Project/Public">
    <system.web>
      <authorization>
        <allow users="?"/>
      </authorization>
    </system.web>
  </location>

而对于我的限制文件夹:

 <location path="Project/Restricted">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorizatio>
    </system.web>
  </location>

在这里看到*和规范?

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/authorization/add

我希望我已经帮助。



Answer 5:

我加的web.config到特定的文件夹说:“用户”(2015年VS,C#),并添加以下代码

<?xml version="1.0"?>
 <configuration>
  <system.web>
    <authorization>     
    <deny users="?"/>
  </authorization>
</system.web>
</configuration>

起初,我使用的位置标记,但没有奏效。



文章来源: Allow anonymous authentication for a single folder in web.config?