問題タブ [principalcontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - UserPrincipal クラスを拡張して Active Directory に連絡先を作成する方法は?
Active Directory で連絡先を作成する必要があります。UserPrincipal を拡張するクラスがあります。それを使用して新しい連絡先を作成するにはどうすればよいですか? 以下のコードは、「要求された操作は、オブジェクトのクラスに関連付けられた 1 つ以上の制約を満たしていませんでした」という PrincipalOperationException をスローします。例外。
私は何を間違っていますか?
c# - コンテキストを確立するときに接続タイムアウトを設定する方法 - PrincipalContext
上記の PrincipalContext クラスを使用して、ターゲット ディレクトリへの接続を確立し、ディレクトリに対して操作を実行するための資格情報を指定しています。
PrincipalContext コンストラクターで接続タイムアウトを指定する方法を知っている人はいますか?
c# - PrincipalContext - ローカルの openldap サーバーに接続できません
openldap for windows
サーバーをインストールLDAPAdmin
し、デフォルト値で接続するために使用します。
PrincipalContext
問題は、 PrincipalContextをou=People
使用してサーバーに接続することさえできないことです。ネットを検索したところ、ldap サーバーに接続する方法について多くの回答が見つかりましたが、どれも機能していませNullReferenceException
んServerNotFoundException
。次のいずれかとして PrincipalContext を使用できると思いました。
また
ユーザー名とパスワードを提供する必要があると言う人もいるので、そうしましたが、例外が発生し続けます。
では、 PrincipalContext を使用して openldap に接続する方法を教えてください。
PS 私のコンピューターは既に Active Directory ドメイン コントローラーに参加しています。
c# - 呼び出されたサーバーが変更されたため、LDAP サーバーへのユーザー グループの呼び出しを取得すると、「サーバーが動作していません」というメッセージが表示されます。
次を使用して、ADAM サーバーからユーザーのグループを取得しようとしています。
そして、「サーバーが動作していません」というエラーが発生し続けます。
私はついに自分の問題を理解しましたが、それを修正する方法がわかりません。
問題は、2 つの ADAM サーバーがファイアウォールと NLB の背後にあり、どちらも adam.company.local という名前で応答し、その名前の nslookup で 100.10.130.1 を応答するということです。
100.10.130.1 と adam.company.local という名前に ping を実行することもできるので、問題はネットワークではありませんが、問題はあります。
WireShark を使用すると、ある時点でサーバーが自分の名前を返し、私の呼び出しがその名前を呼び出そうとすることがわかりました。もちろん、ファイアウォールはそれらをブロックし、例外が発生します。
これを確認するために、ホスト ファイルに 2 つの行を作成し、両方のサーバー名を 100.10.130.1 にすると、問題はなくなり、すべてのグループを簡単に取得できました。
何故ですか?de connection が、到達できないマシンに変更されるのはなぜですか?
最後の質問は、パブリケーション マシンではホスト ファイルにこれらの行を作成できないため、どうすればそれを防ぐことができるかということです。
c# - .NET c# での Active Directory の変更
すべてのユーザーとグループの Active Directory 間の内部 .NET アプリケーション間の同期に取り組んでいます。Active Directory からすべてのユーザーとグループを取得し、これらのデータを .NET アプリケーション データベースに保存しています。
PrincipalContext
Active Directory クエリにオブジェクトを使用しています。ユーザーまたはグループを変更して高いパフォーマンスを提供するかどうかを判断したいと考えています。その方法はありますか?たとえば、またはオブジェクトLastModifiedDate
のプロパティです。GroupPrincipal
UserPrincipal
c# - Directory Services AccountManagement とパスワード ハッシュを使用してユーザーを認証する方法
上記のコード スニペットで正しいパスワードを渡すと、認証は正常に機能しますが、パスワードを持っていないが、パスワード ハッシュが提供されているとします。本当のパスワード文字列?
このクラスhttps://msdn.microsoft.com/en-us/library/system.security.cryptography.rngcryptoserviceprovider.aspxを使用してパスワード ハッシュが作成されたと仮定します。
または、上記が不可能な場合、ADから返されたパスワードハッシュと提供されたハッシュを比較して一致するかどうかを確認できるように、少なくとも特定のアカウントのパスワードハッシュを取得することは可能ですか?
c# - 外部サービスのセキュリティ コンテキストで PrincipalContext を使用して Active Directory への接続を確立する
上記のコード スニペットに見られるように、プリンシパル コンテキスト コンストラクターでユーザー名とパスワードを指定することにより、ドメイン内の Active Directory への接続を確立しています。
接続が確立されたら、接続された Active Directory に対して FirstName と LastName を照会します。
UserName と Password を渡さない場合、PrincipalContext コンストラクターは、IIS で asp.net アプリケーションをホストしているアプリケーション プールを実行しているアカウントの資格情報を使用して、Active Directory に接続します。
しかし、クエリ対象のドメインにアクセスできるアカウントで実行されるある種のサービスを作成し、そのサービスをホストするアカウント情報 (ユーザー名とパスワード) を使用して、ユーザー名を渡す代わりに AD に接続することが可能かどうか疑問に思っています上記のようにパスワードを直接入力します。
誰かが IIS などでサービスをデプロイし、そのサービスがアカウント X のコンテキストで実行されており、このアカウント X がクエリしたいドメインにアクセスできると仮定すると、そのサービスを PrincipalContext コンストラクターで呼び出して、サービスが実行されている資格情報を使用して、照会する AD に接続します。
ここでの私の意図は、ユーザー名とパスワードを提供することではなく、ASP.NET アプリケーションをホストしているアプリケーション プールが実行されている資格情報を使用しないようにすることです。
外部サービスのセキュリティ コンテキストを使用して AD への接続を確立したいと考えています。
asp.net-mvc - PrincipalContext のセキュリティ権限と PrincipalContext の ContextType.Machine について明確化が必要
上記のコードを使用して Active Directory をクエリし、プリンシパル コンテキスト コンストラクターで渡されたユーザー名 (アカウント) がターゲット ドメイン (クエリ対象のドメイン) との信頼関係がないドメインにある場合、以下のエラーが発生します。
System.DirectoryServices.AccountManagement.PrincipalServerDownException: サーバーに接続できませんでした。---> System.DirectoryServices.Protocols.LdapException: LDAP サーバーを利用できません。
PrincipalContext コンストラクトが変更された場合、
クライアントがターゲット ドメインにある限り、コードは正常に実行されるでしょうか?
UserName と Password を含む最初のコードが、ドメイン B でユーザー情報を検索しようとしているドメイン A のクライアントによって呼び出されたと仮定します。ここでは、使用されたアカウントがドメイン A にあり、ドメイン B との信頼関係がないため、コンテキストの確立に失敗しました。
ContextType を Machine に変更し、コードを呼び出すクライアントがドメイン B にある場合、コードは正常に実行されると仮定するのは正しいですか?