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