Thursday, 24 April 2008

Determining the Current User Context inside Sharepoint

What's the best way to determine the current user within a custom web part developed for MOSS 2007? I've found four solutions so far, but I'm pretty sure there are more:
1. Use System.Web.HttpContext.Current.User.Identity.Name, like in any ASP.Net web application
2. Use System.Security.Principal.WindowsIdentity.GetCurrent().Name
3. Have the Current User Filter send the current user to your web part, and (of course) make your web part a consumer of that value.
4. SPWeb web = SPControl.GetContextWeb(Context); SPUser currentUser = web.CurrentUser;