Scenario:
Client wanted to run the event receiver code with elevated access.
Solution:
Using Elevated Privileged is one option but better options was using System User Token
Code:
////// An item is being added. /// public override void ItemAdding(SPItemEventProperties properties) { SPSite site = properties.Web.Site; SPUserToken sysToken = site.SystemAccount.UserToken; site.Dispose(); using (var systemSite = new SPSite(properties.SiteId, sysToken)) { using (SPWeb sysWeb = systemSite.OpenWeb(properties.Web.ID)) { // Code goes here } }
0 comments:
Post a Comment