System.Web.HttpContext.Current.User.Identity.Name Vs System.Environment.UserName в ASP.NET
В чем разница между System.Web.HttpContext.Current.User.Identity.Name
и System.Environment.UserName
в контексте проекта веб-приложения ASP.Net?
Вот код того, что я пытаюсь сделать:
Database myDB = DatabaseFactory.CreateDatabase();
bool IsAuthUser = myDB.ExecuteScalar("procIsAuthorizedUser", System.Environment.UserName);
Если они функционально идентичны, что лучше с точки зрения производительности?
Это веб-приложение С# 4.0/ASP.Net, которое будет видеть умеренное использование внутри организации. Спасибо за ответы.
Ответы
Ответ 1
System.Environment.UserName
возвращает идентификатор, под которым запущен пул приложений, на котором размещено ваше веб-приложение. Если вы используете проверку подлинности Windows и олицетворение, то это будет фактическое имя пользователя, однако во всех случаях вам лучше использовать информацию, предоставленную контекстом HTTP. В любом случае нет производительности.
Ответ 2
Описание
System.Web.HttpContext.Current.User.Identity.Name
Получает или задает информацию о безопасности для текущего HTTP-запроса. (Имя зарегистрированного пользователя на вашем веб-сайте)
System.Environment.UserName
Получает имя пользователя, которое в настоящее время зарегистрировано в операционной системе Windows.
Дополнительная информация