SSO后ASP.NET下缺少远程用户

SSO后ASP.NET下缺少远程用户,asp.net,asp.net-mvc,iis,Asp.net,Asp.net Mvc,Iis,我正在努力将ASP.NET MVC应用程序(IIS)带到SSO系统后面。我对SSO了解不多,但本地支持人员告诉我,在某个CGI登录后,远程用户CGI/ServerVariable应该填充用户ID,该ID将由ASP.NET应用程序读取 问题:从ASP.NET页面(或从控制器等)调用远程用户时,远程用户始终为空 我尝试的内容:更改我的web.config、身份验证和授权部分。该部门主要使用CF,因此我尝试编写了一个快速的ASP经典调用,它成功了… <% Response.Write(Re

我正在努力将ASP.NET MVC应用程序(IIS)带到SSO系统后面。我对SSO了解不多,但本地支持人员告诉我,在某个CGI登录后,远程用户CGI/ServerVariable应该填充用户ID,该ID将由ASP.NET应用程序读取

问题:从ASP.NET页面(或从控制器等)调用远程用户时,远程用户始终为空


我尝试的内容:更改我的web.config、身份验证和授权部分。该部门主要使用CF,因此我尝试编写了一个快速的ASP经典调用,它成功了…

 <% Response.Write(Request.ServerVariables("Remote_User")) %>


我对CGI不太熟悉,无法猜测变量丢失的位置,但是如果它是在一个旧的.asp页面上,那么数据肯定在某个地方被覆盖了……

在您的IIS设置中,选择您的站点,然后在IIS部分,选择身份验证

禁用匿名身份验证

我发现,当我尝试使用Active Directory时,允许匿名身份验证意味着所有用户都自动匿名


我希望这也适用于您的SSO系统。

为什么您希望通过这种方式而不是通过Page.User.Identity.Name获取用户名?正如我所提到的,登录由企业单一登录(SSO)处理,它为所有后端应用程序填充上述服务器变量。我的应用程序包含本地身份信息,但只能从SSO后面访问,SSO已经知道用户的身份。我想@KeesdeWit的目的是,尝试编写一个httpModule来从标头获取信息。然后,您的应用程序可以使用page.Identity.Name,而不必关心它是如何得到的。这就是抽象的要点。
 <% Response.Write(Request.ServerVariables("Remote_User")) %>