在集成模式下IIS服务器变量“ALL_HTTP”中缺少HTTP标头

时间:2017-04-16 20:39:55

标签: c# iis siteminder

集成模式下IIS服务器变量“ALL_HTTP”中缺少Siteminder HTTP标头。我们使用Request.ServerVariable(“ALL_HTTP”)来获取SM_USER。 ALL_HTTP中缺少HTTP_SM_USER。相同的代码在不同的服务器上运行。

1 个答案:

答案 0 :(得分:2)

服务器变量集合(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>