下面是一个场景,我有一个ASP.NET应用程序,它使用自定义身份验证和成员资格提供程序,但我们需要允许完全匿名访问(即)应用程序中的特定文件夹。
在IIS管理器中,可以设置文件夹的身份验证模式,但设置保存在C:\Windows\System32\inetsrv\config\applicationHost.config
文件as described here中
为了使安装更容易,如果我能在我的web.config中设置这个就太好了,但经过几次尝试,我认为这可能是不可能的。
有人知道其他的吗?
多谢了
5条答案
按热度按时间yhqotfr81#
第一种方法是使用
<location>
配置标记和<allow users="?"/>
来修改web.config,以允许匿名或<allow users="*"/>
:字符串
如果该方法不起作用,则可以采用以下方法,该方法需要对IIS applicationHost.config进行小的修改。
首先,在C:\Windows\System32\inetsrv\config\applicationHost.config中将匿名身份验证部分的overrideModeDefault从“拒绝”更改为“允许”:
型
overrideMode
是IIS的一项安全功能。如果在applicationHost.config的系统级别上不允许覆盖,则在web.config中无法启用它。如果您在目标系统上没有此级别的访问权限,则必须与托管提供商或系统管理员进行讨论。第二,在设置了
overrideModeDefault="Allow"
之后,您可以将以下内容放入web.config:型
8qgya5xd2#
使用
<location>
配置标记,并使用<allow users="?"/>
仅允许匿名或<allow users="*"/>
允许所有匿名:字符串
63lcw9qa3#
字符串
此外:如果您想通过网站在该文件夹上写入内容,则必须给予IIS_User对该文件夹的权限
wbrvyc0a4#
为了让它工作,我像这样构建我的目录:
所以我编辑了我的公共文件夹的webconfig:
字符串
对于我的受限文件夹:
型
https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/authorization/add
我希望我帮了你。
mhd8tkvw5#
我将web.config添加到特定的文件夹中,比如“Users”(VS2015,C#),并添加了以下代码
字符串
最初我用的是位置标签,但没有工作。