Сделайте пользователя, для которого вы хотите запустить код, известным в SharePoint, затем, используя
SPSite.RootWeb.EnsureUser("username").UserToken
вы можете получить SPUserToken этого пользователя
используйте это, чтобы открыть SPSite, вот так
var token = SPSite.RootWeb.EnsureUser("usernameToImpersonate").UserToken;
using (SPSite site = new SPSite(token, this.ListAddress))
{
using (SPWeb web = site.OpenWeb())
{
// code here will be executed as selected user
}
}