Подтвердить что ты не робот

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, которое будет видеть умеренное использование внутри организации. Спасибо за ответы.

4b9b3361

Ответ 1

System.Environment.UserName возвращает идентификатор, под которым запущен пул приложений, на котором размещено ваше веб-приложение. Если вы используете проверку подлинности Windows и олицетворение, то это будет фактическое имя пользователя, однако во всех случаях вам лучше использовать информацию, предоставленную контекстом HTTP. В любом случае нет производительности.

Ответ 2

Описание

System.Web.HttpContext.Current.User.Identity.Name

Получает или задает информацию о безопасности для текущего HTTP-запроса. (Имя зарегистрированного пользователя на вашем веб-сайте)

System.Environment.UserName

Получает имя пользователя, которое в настоящее время зарегистрировано в операционной системе Windows.

Дополнительная информация