0

CA on Web Application にフル コントロールで追加されたユーザーを取得する必要があります。WebApplication には多くのサイト コレクションを含めることができるため、 SPWebObject からのユーザーは必要ないことに注意してください。そのため、中央管理者から直接権限を与えられた特定のユーザーのユーザー権限を取得または確認したいと考えています。

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 に答える