私のコードが自分のイベントレシーバーのSPListItems.RoleAssignments
コレクションを通して反復しようとすると、エラーが発生します。ただし、投稿者の権利を持つユーザーのみ。管理者権限を持つユーザー。SharePoint 2010& "不正な操作を実行しようとしました。 &SPListItems.RoleAssignments
私は次のことを試してみた:
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;
のWindows Impersationラッピング
-
私はすべての方法を一緒に、そして何もせずにseperatlyとcollectiveしてみました。
SPListItems.RoleAssignments.Count
についても同様の例外があります。