我正在努力将 ASP.NET MVC 应用程序 (IIS) 置于 SSO 系统后面。我对 SSO 了解不多,但本地支持人员告诉我,在通过某些 CGI 登录后,REMOTE_USER CGI/ServerVariable 应填充用户 ID,该 ID 将由 ASP.NET 应用程序读取。
问题:当从 ASP.NET 页面(或从 Controller 等)调用时,Remote_User 总是空白
<%: Request.ServerVariables["REMOTE_USER"] %>
我尝试过的:更改我的 web.config、身份验证和授权部分。该部门主要使用 CF,所以我尝试编写一个快速的 ASP-Classic 调用 它起作用了...
<% Response.Write(Request.ServerVariables("Remote_User")) %>
我对 CGI 不够熟悉,无法猜测变量丢失的位置,但是如果它进入旧的 .asp 页面,则数据必须在某处被覆盖......
最佳答案
在您的 IIS 设置中,选择您的站点,然后在 IIS 节,挑认证 .
禁用 匿名认证 .
我发现当我尝试使用 Active Directory 时,允许匿名身份验证意味着所有用户都是自动匿名的。
我希望这也适用于您的 SSO 系统。
关于asp.net - SSO 后 ASP.NET 下缺少 REMOTE_USER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16399891/