我正在尝试获得 WSS 3.0 中某个组的成员资格。我在提升的权限块中执行此操作。这是代码:
SPSecurity.RunWithElevatedPrivileges(委托() { 使用(SPSite 站点 = 新 SPSite(SPContext.Current.Site.ID)) { 使用(SPWeb rootWeb = site.RootWeb) { SPGroup gAdmins = rootWeb.SiteGroups["Admins"]; } } });
运行此代码时,我会进入“拒绝访问”SharePoint 屏幕。该组存在。Web 应用程序的应用程序池的标识是内容数据库中的 dbo 角色。该代码适用于我的开发服务器,但不适用于另一台服务器,这让我相信此服务器上的权限或配置有问题,可能是 dcomcnfg 中的问题?
以下是 SharePoint 日志中似乎相关的一些行:
PermissionMask 检查失败。要求 0x08000000,有 0x00000000 发生未知的 SPRequest 错误。更多信息:0x80070005 /Pages/UserAdmin.aspx 的访问被拒绝。StackTrace: Microsoft.SharePoint.Utilities.SPUtility:Void HandleAccessDenied(System.Exception), Microsoft.SharePoint.SPGlobal:Void HandleUnauthorizedAccessException(System.UnauthorizedAccessException), ....
[UserAdmin.aspx 托管包含代码的自定义 Web 部件]