Web.Config
本文 已弃用 IIS 管理 2.0.0。 并已替换为 appsettings 安全部分
Microsoft IIS 管理 API 有权访问 IIS 提供的所有集成安全机制。 这些设置位于安装 API 的web.config文件中。 在此文件中,指定了 Windows 身份验证 和 授权 要求。 可以操作此文件来自定义允许访问 API 的人员,例如, Windows 身份验证 可以替换为客户端证书身份验证。 对web.config文件所做的任何更改都需要重启“Microsoft IIS 管理”服务才能生效。
web.config文件位于: IIS Administration\<version>\Microsoft.IIS.Administration\web.config
默认设置
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Microsoft.IIS.Administration.dll" forwardWindowsAuthToken="true" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
<security>
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
<authorization>
<clear />
<add accessType="Allow" roles="Administrators,IIS Administrators" />
</authorization>
</security>
</system.webServer>
<!--
ALWAYS PROTECTED SECURITY AREA
THE HOST MUST PROVIDE AUTHENTICATION
[Windows Authentication]
[Client Certificate Authentication]
-->
<location path="security">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
<authorization>
<clear />
<add accessType="Deny" users="?" />
<add accessType="Allow" roles="Administrators,IIS Administrators" />
</authorization>
</security>
</system.webServer>
</location>
<!--
API area
Protected by ACCESS TOKEN
The host can provide additional authentication on top
-->
<location path="api">
<system.webServer>
<security>
<authentication>
<!-- Need for CORs -->
<anonymousAuthentication enabled="true" />
</authentication>
<authorization>
<!-- Need for CORs -->
<add accessType="Allow" verbs="OPTIONS" users="*" />
</authorization>
</security>
</system.webServer>
</location>
</configuration>