1

カスタム ビジュアル Web パーツに、ログインしているユーザーが sharepoint グループのメンバーであることを確認する必要があるシナリオがあります (sharepoint グループまたはユーザーは sharepoint リストに格納されています)。実際、ログインしているユーザーがリストに存在する場合、そのユーザーにはカスタム Web パーツの編集アクセス権が付与されます。

「このグループのメンバーシップを表示できるユーザー」から「グループ メンバー」へのグループ設定でグループ名「SharePoint_Owners」を作成したため、ログインしているユーザーに表示権限がないため、サイトは「アクセスが拒否されました」というエラーをスローします。コードでこれを実行するとエラーが発生します。SPGroup oGroup = oWebsite.SiteGroups[strgroup];///strgroup はグループ名です foreach (SPUser oUser in oGroup.Users) { }

Web パーツを構成するページを開こうとすると、サイトがこのエラーをスローします。

どのように進めればよいか教えてもらえますか?各グループの「全員」に実際に表示権限を付与せずに、プログラムでこれを解決する方法はありますか?? RunWithElevatedPrivileges は自分の仕事をしていると思っていましたが、運がありません!

助けてください

4

1 に答える 1

0

これを試して:

SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                string siteURL = SPContext.Current.Site.Url;
                using (SPSite safeSite = new SPSite(siteURL))
                {
                    using (SPWeb safeWeb = safeSite.OpenWeb())
                    {
                        SPGroup group = safeWeb.Groups["SharePoint_Owners"];
                        bool isMember = safeWeb.IsCurrentUserMemberOfGroup(group.ID);                       
                    }
                }
            });
于 2012-10-17T15:16:32.823 に答える