因此,这里的情况,我有一个使用自定义身份验证和成员提供一个Asp.Net应用程序,但我们需要让应用程序内完全匿名访问(IE)到特定的文件夹中。
在IIS管理器,您可以设置文件夹的身份验证模式,但设置保存中C:\Windows\System32\inetsrv\config\applicationHost.config
文件如这里所描述
为了使安装更容易,这将是巨大的,如果我可以设置这个我的web.config中但几次尝试后,我想这是不可能的。
有谁知道,否则?
非常感谢
因此,这里的情况,我有一个使用自定义身份验证和成员提供一个Asp.Net应用程序,但我们需要让应用程序内完全匿名访问(IE)到特定的文件夹中。
在IIS管理器,您可以设置文件夹的身份验证模式,但设置保存中C:\Windows\System32\inetsrv\config\applicationHost.config
文件如这里所描述
为了使安装更容易,这将是巨大的,如果我可以设置这个我的web.config中但几次尝试后,我想这是不可能的。
有谁知道,否则?
非常感谢
使用<location>
配置标记和<allow users="?"/>
只有匿名来允许或<allow users="*"/>
所有的:
<configuration>
<location path="Path/To/Public/Folder">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>
采取第一种方法是使用修改你的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>
<location path="ForAll/Demo.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
另外:如果你想通过网站来编写文件夹的东西,你必须给IIS_User权限的文件夹
为了使它工作,我建立我的目录是这样的:
项目公共限制
所以我编辑我的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
我希望我已经帮助。
我加的web.config到特定的文件夹说:“用户”(2015年VS,C#),并添加以下代码
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
起初,我使用的位置标记,但没有奏效。