private static SPUserToken GetSysToken(string siteUrl)
{
SPUserToken sysToken = null;
if (sysToken == null)
{
SPSecurity.RunWithElevatedPrivileges(
delegate()
{
using (SPSite site = new SPSite(siteUrl))
{
//sysToken = site.SystemAccount.UserToken; // 获取系统帐户的UserToken
sysToken = site.RootWeb.EnsureUser("domain\\loginName").UserToken; // 获取指定用户的UserToken
}
});
}
return sysToken;
}
var token = GetSysToken("site url");
using (SPSite site = new SPSite("site url", token))
{
SPWeb web = site.RootWeb;
// ...
}