WSS 3.0機能 - ユーザーがファーム管理者であるかどうかを確認してください

StackOverflow https://stackoverflow.com/questions/3305491

  •  26-09-2020
  •  | 
  •  

質問

ファーム管理者だけがSiteCollectionを削除できるようにするSharePoint機能を開発しています。SitedEletingイベントでは、ユーザー削除がFARMADMINの場合はCHECHが必要です。どうやってそれをするべきですか?ユーザーがWebAdmin(Properties.Web.UserisWebAdmin)またはSiteAdmin(Properties.Web.UserisSiteAdmin)かどうかを確認するプロパティがありましたが、ユーザーがファーム管理者のかどうかを確認する方法?

あらゆる助けが大歓迎です。

役に立ちましたか?

解決

SPFarm farm = SPFarm.Local;
farm.CurrentUserIsAdministrator();
.

これらのクラスはMicrosoft.SharePoint.AdmineStration Namespaceにあります。> CurrentUserISAdministrator または spfarm クラスMSDN。

他のヒント

public static bool IsFarmAdmin(string loginName)
            {
                //For Currently Logged in users  
                //SPFarm.Local.CurrentUserIsAdministrator();  

        bool isFarmAdmin = false;

        SPSecurity.RunWithElevatedPrivileges(delegate()
        {
            SPGroup adminGroup = SPAdministrationWebApplication.Local.Sites[0].AllWebs[0].SiteGroups["Farm Administrators"];

            foreach (SPUser user in adminGroup.Users)
            {
                if (user.LoginName == loginName)
                {
                    isFarmAdmin = true;
                }
            }

        });

        return isFarmAdmin;
    } 
.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top