获取Request.ServerVariables(“LOGON_USER”)的值

时间:2014-11-13 15:12:30

标签: asp.net authentication web-config authorization request.servervariables

我尝试使用Request.ServerVariables(“LOGON_USER”)变量在我的ASP.NET页面中获取经过身份验证的用户名。它给了我一个空字符串。关于这个变量有很多主题。 The common point正在使用除None之外的身份验证类型并拒绝匿名访问。所以我在web.config

中添加了这些行
<authentication mode="Forms"/>
<authorization>
  <deny users = "?" /> <!-- This denies access to the Anonymous user -->
  <allow users ="*" /> <!-- This allows access to all users -->
</authorization>

我仍然得到一个空字符串。我怎样才能获得用户名?

也尝试过:

Request.ServerVariables["REMOTE_USER"];
Request.ServerVariables["UNMAPPED_REMOTE_USER"];
Request.ServerVariables["AUTH_USER"];
HttpContext.Current.User.Identity.Name;

1 个答案:

答案 0 :(得分:0)

终于修好了。如果要使用Request.ServerVariables(“LOGON_USER”),则应在IIS中禁用匿名访问

PS:禁用匿名访问会产生一些副作用,例如infinite login redirect loop