问题描述
我需要根据用户授权从页面中添加和删除响应头,例如如果当前用户是匿名的,那么必须实现最安全的头,但如果用户以管理员身份登录(对于例如)他的安全标头应该减少限制,因为它会阻止某些功能。
有没有办法在 IIS 中执行此操作或使用 onpresendrequestheaders
请指教,谢谢
解决方法
您可以尝试使用 IIS 出站规则将响应头重写为空白:
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Set custom HTTP response header">
<match serverVariable="RESPONSE_var" pattern=".*" />
<conditions>
<add input="{REQUEST_URI}" pattern="\folder\filename$" />
</conditions>
<action type="Rewrite" value=""/>
</rule>
</outboundRules>
</rewrite>
</system.webServer>
如果您想使用 PreSendRequestHeaders,您可以使用以下代码:
void OnPreSendRequestHeaders(object sender,EventArgs e)
{
if (HttpContext.Current.Request.Url.AbsolutePath.ToString().Contains("filename"))
{
Response.Headers.Remove("variablename");
}
}