Tuesday 17 August 2010

How to impersonate Site administrator privileges

When we run a piece of code within SPSecurity.RunWithElevatedPrivileges, it run in context with Sharepoint System account. So if you want to run a piece of code under a specific user account/role we have to impersonate that specific user account.

To impersonate a specific user, you need the usertoken of the impersonated user and you have to pass it while creating the SPSite object.

SPUserToken userToken = Web.SiteAdministrators["loginname"].UserToken;
using(SPSite site = new SPSite("SiteURL", userToken))
{
SPWeb Web = mySite.RootWeb;
// Perform activities which require administrative privileges

}

No comments:

Query List/Document Library in Specific Folder

To query SharePoint List or Document Library in specific Folder “ FolderServerRelativeUrl ” as part of the CAML Query Code Snippet ...