集成模式下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>