我的代码尝试在我的事件接收器中遍历SPListItems.RoleAssignments
集合时收到错误。但只限于拥有贡献者权利的用户。拥有管理员权限的用户。使用下面的代码SharePoint 2010&“尝试执行未经授权的操作。” &SPListItems.RoleAssignments
- 结束语我下SPRunElevatedPrivlages
的Windows Impersation:
我已经试过以下
WindowsImpersonationContext ctx = null; ctx = WindowsIdentity.Impersonate(System.IntPtr.Zero); SPUserToken oSysToken = GetSysToken(properties.SiteId) private static SPUserToken GetSysToken(Guid SPSiteID) { SPUserToken sysToken = null; using(SPSite oSite = new SPSite(SPSiteID)) { sysToken = oSite.SystemAccount.UserToken; } if (sysToken == null) { SPSecurity.RunWithElevatedPrivileges( delegate() { using(SPSite site = new SPSite(SPSiteID)) { sysToken = site.SystemAccount.UserToken; } }); } return sysToken; }
最后,我已经试过
SPWeb.AllowUnsafeUpdates = true;
我已经尝试过所有的方法,并集体在一起,没有任何东西。它看起来像通过例外以及SPListItems.RoleAssignments.Count
。