集成模式下IIS服务器变量“ALL_HTTP”中缺少HTTP标头
问题描述:
集成模式下IIS服务器变量“ALL_HTTP”中缺少Siteminder HTTP标头。我们使用Request.ServerVariable(“ALL_HTTP”)来获取SM_USER。 ALL_HTTP中缺少HTTP_SM_USER。相同的代码在不同的服务器上工作。集成模式下IIS服务器变量“ALL_HTTP”中缺少HTTP标头
答
服务器变量集合(ALL_HTTP)是从ASP日期开始的旧机制。您应该查看上下文标题,这是现在在.Net中首选的方法。您可以通过Context.Request.Headers而不是Request.ServerVariables查看您的标头,如下面的代码片段所示:
<%
headers.DataSource = Context.Request.Headers.ToDictionary();
headers.DataBind();
%>
<ul>
<asp:Repeater runat="server" ID="headers">
<ItemTemplate>
<li>
<%# Eval("Key") %> = <%# Eval("Value") %>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>