0

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

4

1 回答 1

0

我认为您想为您的 Web 应用程序使用SPWebApplication.Policies属性。我确信这可以更有效地完成,但这是我尝试过的似乎有效的方法:

        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);
            }
        }
于 2012-08-03T09:18:43.687 回答