我正在调查这个问题。我有一个 CGI 应用程序,我通过 IIS7 中发布的网站发布。
编辑:我更改了 web.config 以使用 url 授权。这是名为 secure 的文件夹的 web.config,这是该特定文件夹的 web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="MyDOMAIN\MyRole" />
<add accessType="Deny" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>
使用该配置它不起作用但如果我删除拒绝它就会再次起作用,也许是规则顺序?
我更改了网站配置以使用 Windows 身份验证,然后拒绝所有用户,但使用当前 web.config 的用户除外
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script" />
<directoryBrowse enabled="false" />
</system.webServer>
<system.web>
<authentication mode="Windows">
</authentication>
<authorization>
<allow users="MYDOMAIN\myname2"/>
<deny users="?"/>
<deny users="*"/>
<deny users="MYDOMAIN\myname"/>
</authorization>
</system.web>
</configuration>
不幸的是,我可以使用 myname 和 myname2 访问该应用程序(已发布的 cgi 和 IIS 欢迎页面)。
有什么关于如何配置的提示吗?谢谢!
编辑:我找到了这篇文章IIS7:如何使用 web.config 文件阻止访问?它将 web.config 标记为
> <system.webServer>
> <security>
> <authorization>
> <remove users="*" roles="" verbs="" />
> <add accessType="Allow" roles="Administrators" />
> </authorization>
> </security> </system.webServer>
但 cgi 仍在继续执行