0

Я пытаюсь получить аутентифицированное имя пользователя на моей странице ASP.NET с использованием переменной Request.ServerVariables(“LOGON_USER”). Это дает мне пустую строку. Существует много тем об этой переменной. The common point использует тип аутентификации, отличный от None, и запрещает анонимный доступ. Поэтому я добавил эти строки в моей web.config:Получение значения Request.ServerVariables ("LOGON_USER")

<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

Наконец исправлена. Вы должны отключить анонимный доступ в IIS, если вы хотите использовать Request.ServerVariables(“LOGON_USER”).

PS: Отключение анонимного доступа имеет некоторые побочные эффекты, такие как infinite login redirect loop