WSS 3.0功能 - 检查用户是否为场管理员

时间:2010-07-22 03:01:11

标签: sharepoint-2007 wss-3.0

我正在开发一个sharepoint功能,只允许Farm管理员删除sitecollection。在SiteDeleting事件中,如果用户删除是farmadmin,我需要填写。我该怎么做?我有一个属性来检查用户是webadmin(properties.Web.UserIsWebAdmin)还是siteadmin(properties.Web.UserIsSiteAdmin),但是如何检查用户是否是农场管理员?

非常感谢任何帮助..

2 个答案:

答案 0 :(得分:1)

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

这些类位于Microsoft.SharePoint.Administration命名空间中。有关MSDN上的CurrentUserIsAdministratorSPFarm课程的更多信息。

答案 1 :(得分:0)

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;
    }