2016-12-02 8 views
1

私は何らかのヘルスモニタリングに取り組んでおり、私のアプリケーションがActive Directoryでアクセス権と適切な権限を持っていることを検証したいと思います。 DirectoryEntryを初期化すると、マシンから与えられたドメイン/パスが表示されます。それは問題ありませんが、ドメインでの読み書きが可能かどうかを確認する必要があります。 ADに実際のオブジェクトを作成しなくても可能ですか?Active Directoryへのアクセスを検証する方法は?

ありがとうございました

+0

この質問のコメントを見てみましょう:http://stackoverflow.com/questions/4071260/how-to-get-effective-permissions-for-a-user- on-ad-lds-entry-in-c – oldovets

答えて

0

最後に、oldovetsのコメントではかなり簡単でした。ここで私が使用したコードは次のとおりです。

   using (DirectoryEntry entry = directorySearcher.FindOne()?.GetDirectoryEntry()) 
       { 
        if (entry == null) 
        { 
         //report error 
        } 

        entry.RefreshCache(new string[] { "allowedAttributesEffective" }); 
        if (entry.Properties["allowedAttributesEffective"].Value != null) 
        { 
         if (this.properties == null || this.properties.All(property => entry.Properties["allowedAttributesEffective"].Contains(property))) 
         { 
          //sufficient rights 
         } 
         else 
         { 
          //insufficient rights 
         } 
        } 
        else 
        { 
         //not possible to check attribute "allowedAttributesEffective", it is missing or you have insufficient rights to read it 
        } 
       } 
関連する問題