如何从SPWebApplication获取具有FullControl的SPUser

时间:2012-08-03 07:47:43

标签: sharepoint

我需要获取用户,该用户在具有完全控制权限的Web应用程序中添加到CA中。请注意我不希望SPWebObject中的用户,因为WebApplication可以包含许多网站集,因此我想直接通过中央管理员获取或验证特定用户的用户权限。

1 个答案:

答案 0 :(得分:0)

我认为您希望将SPWebApplication.Policies属性用于您的Web应用。我确信这可以更有效地完成,但这是我尝试的似乎有效:

        System.Uri uri = new Uri("http://sp");
        SPWebApplication webApplication = SPWebApplication.Lookup(uri);
        SPPolicyCollection policyCollection = webApplication.Policies;
        SPPolicyRoleCollection policyRoles = webApplication.PolicyRoles;

        foreach (SPPolicy p in policyCollection)
        {
            Console.WriteLine("{0} - {1}", p.DisplayName, p.UserName);
            foreach (SPPolicyRole pr in p.PolicyRoleBindings)
            {
                Console.WriteLine("     {0} - IsAdmin: {1}, FullControl: {2}", 
                                   pr.Name, 
                                   pr.IsSiteAdmin, 
                                   pr.GrantRightsMask == SPBasePermissions.FullMask);
            }
        }