0
我在檢查,如果給定的用戶是下面這段代碼的組的一部分。我越來越未授權的SPSecurity.RunWithElevatedPrivileges異常?
未經授權的例外 (0X80070005)
,我不明白爲什麼?我正在使用SPSecurity.RunWithElevatedPrivileges
,那爲什麼它給我這個例外!?任何人都暗示我?提前致謝!
public bool IsUserInGroup(SPWeb web, string groupName, string user)
{
try
{
bool returnValue = false;
SPSecurity.RunWithElevatedPrivileges(() =>
{
if (web.Groups.OfType<SPGroup>().Where(g => g.Name == groupName).Count() > 0)
{
SPGroup spGroup = web.Groups[groupName];
if (spGroup.Users.OfType<SPUser>().Where(u => u.LoginName.Equals(user)).Count() > 0)
{
returnValue = true;
}
else
{
returnValue = false;
}
}
else
{
returnValue = false;
}
});
return returnValue;
}
catch (Exception exp)
{
Classes.Logs.Error.Log_Error("IsUserInGroup", "DocumentCenterItem.cs", exp.Message, DateTime.Now);
return false;
}
}
謝謝您的回答。只是一個小小的評論。你應該避免使用(SPWeb elevatedWeb ...)。網絡不應該放置在那裏。改用'SPWeb elevatedWeb = spSite.RootWeb'。我推薦使用https://gallery.technet.microsoft.com/office/SharePoint-Dispose-Checker-01da48e8上的SPDisposerCheck工具 –