Use the SystemAccount Property When Building SPUserToken Objects

I saw a developer doing this with some funky impersonation today, so I thought I would throw out some sample code. Consider the below shell code, demonstrating the SPSite.SystemAccount property use, subsequently using it to expose the SystemAccount.Token property to pass into the SPSite constructor.

[csharp]
SPWeb primaryWeb = SPContext.Current.Web;
using (var primarySite = new SPSite(primaryWeb.Site.ID))
{
SPUserToken userToken = primarySite.SystemAccount.UserToken;
using (var secondarySite = new SPSite(primarySite.ID,userToken))
{
using (SPWeb secondaryWeb =secondarySite.OpenWeb(primaryWeb.ID))
{

try
{

}
catch (Exception)
{
}

}
}
}
[/csharp]

Share

One Comment

  1. .Net Follower says:

    Hello!
    In my blog I described how to receive UserToken of SystemAccount even if code is running under user with limited rights. It’s here
    http://dotnetfollower.com/wordpress/2011/03/sharepoint-how-to-get-systemaccount-token/

Trackbacks/Pingbacks

  1. Links (10/18/2009) « Steve Pietrek – Everything SharePoint - [...] Use the SystemAccount Property When Building SPUserToken Objects [...]

Leave a Reply

Your email address will not be published. Required fields are marked *