Thread.CurrentPrincipal.Identity vs HttpContext.User.Identity

Возможный дубликат:
разница между http.context.user и thread.currentprincipal и когда их использовать?

Какая разница между этими двумя в приложении ASP.NET?

Я знаю, что HttpContext.User.Identity устанавливается, когда пользователь аутентифицируется через FormsAuthentication. Но когда установлен набор Thread.CurrentPrincipal.Identity?

Всегда ли они имеют одинаковое значение?

Сохраняется ли это для других слоев приложения, которые не имеют доступа к HttpContext?

Ответы

Ответ 1

HttpContext.User.Identity - это текущий зарегистрированный пользователь в вашем веб-приложении.

Thread.CurrentPrincipal применяется только при <authentication mode = "windows"/>. Обычно это используется с приложениями на базе Windows (Winforms, WPF..)

Ответ 2

если вы используете HttpContext.User.Identity, равный Thread.CurrentPrincipal