我尝试使用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;
答案 0 :(得分:0)
终于修好了。如果要使用Request.ServerVariables(“LOGON_USER”)
,则应在IIS中禁用匿名访问。
PS:禁用匿名访问会产生一些副作用,例如infinite login redirect loop