문제

팜 관리자 만 SiteCollection을 삭제할 수있게 해주는 SharePoint 기능을 개발하고 있습니다.SetEleteleting 이벤트에서 사용자 삭제가 FARFADMIN이라면 치료해야합니다.어떻게해야합니까?사용자가 WebAdmin (properties.web.useriswebadmin) 또는 SiteAdmin (properties.web.userissiteadmin)인지 확인하는 속성이 있지만 사용자가 팜 관리자인지 확인하는 방법은 무엇입니까?

도움이 많이 감사합니다.

도움이 되었습니까?

해결책

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

이 클래스는 Microsoft.SharePoint.Administration 네임 스페이스에 있습니다. 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