I am using this method of faking an SPContext: http://solutionizing.net/2009/02/16/faking-spcontext/
public static SPContext FakeSPContext(SPWeb contextWeb)
{
// Ensure HttpContext.Current
if (HttpContext.Current == null)
{
HttpRequest request = new HttpRequest("", web.Url, "");
HttpContext.Current = new HttpContext(request,
new HttpResponse(TextWriter.Null));
}
// SPContext is based on SPControl.GetContextWeb(), which looks here
if(HttpContext.Current.Items["HttpHandlerSPWeb"] == null)
HttpContext.Current.Items["HttpHandlerSPWeb"] = web;
return SPContext.Current;
}
Now, if I need this context to have identity of a specific SharePoint user. Any ideas how would I do that?