The app is running using impersonation and windows authentication. What is the difference of what i've got in the three cases?
System.Threading.Thread.CurrentPrincipal.Identity as WindowsIdentity
WindowsIdentity.GetCurrent()
((HttpContext) context).User.Identity as WindowsIdentity