Java Active Directory統合Windows認証
-
06-07-2019 - |
質問
次の投稿で見ることができます
http://forums.sun.com/thread.jspa?threadID=603815
http:/ /forums.devshed.com/ldap-programming-76/active-directory-services-using-java-api-89586.html
Javaの InitialLdapContext
クラスを使用してLDAPにアクセスする例。これには、ログインとパスワードを渡す必要があります(Javaプロセスを実行しているサービスアカウントまたはユーザーが実行できるようにすでにログインしている場合でも)。
ユーザーまたはサービスアカウントは既にログインしているため、ユーザー名またはパスワードなしで次のようなActive Directoryコマンドを既に実行できます。
dsquery user -samid "login" |dsget user -samid -email -display
では、Javaが login と password を必要とする理由-このクエリが既にWindowsで利用可能な場合Kosukeは、結論としてこのブログ投稿では必須ではないことを示唆しています:
私の質問は-なしでjavaでActive Directoryを呼び出す方法:
- ログインまたはパスワードを使用していますか(すでにログインしているアカウントで実行していますか?)
- コマンドラインでコマンドを実行しますか?
解決
これはおそらく発生します
- LDAPライブラリ/コンテキストを使用してActive Directoryと通信しており、これらのライブラリは他のタイプのLDAPをサポートする必要があります(ADはLDAPとしてもカウントされますか?)
- これらの実装のプロバイダーは、それを必要とするプロバイダーです。 LDAP通信は、実装を提供するプロバイダーを介して行われますが、実際のJavaランタイムでは行われません。
- 現在のユーザーのパスワードは、WindowsからJavaに実際に提供されるわけではありません(願っています)。
Windowsは、それを必要とするアプリケーションを実行するときにADに対してユーザーを認証するとき、実際のパスワードに加えて他の資格情報のセットを提示します。これらの資格情報はJavaでは使用できません。または、少なくともLDAPコミュニケーターのプロバイダーがそれを取得する方法を提供していません。
他のブログ投稿で件名は、Active Directoryに関してJavaランドの現状がどうしてそうなっているのかについてもう少し詳しく説明します。
他のヒント
また、以下のリンクを見て、JavaプラットフォームでWindows統合認証を機能させるための詳細な手順を見つけることができます。
http://webmoli.com/ 2009/08/29 / single-sign-on-in-java-platform /