Thread.CurrentPrincipal.Identity vs HttpContext.User.Identity

12.1k Views Asked by At

Possible Duplicate:
difference between http.context.user and thread.currentprincipal and when to use them?

What's the difference between these two in an ASP.NET application?

I know the HttpContext.User.Identity is set when the user is authenticated through FormsAuthentication. But when is the Thread.CurrentPrincipal.Identity set?

Do they always hold the same value?

Does that still hold true for other layers of the application that do not have access to a HttpContext?

2

There are 2 best solutions below

3
On BEST ANSWER

HttpContext.User.Identity is the current logged in user in your web app.

Thread.CurrentPrincipal applies only when the <authentication mode = "windows"/>. Normally this is using with Windows based applications (Winforms,WPF..)

2
On

if you use the HttpContext.User.Identity equals the Thread.CurrentPrincipal