提供されたユーザー名、パスワード、およびドメイン名を使用して、ユーザーがプライマリドメインコントローラーで正常に認証されたかどうかを示すブール値を取得するにはどうすればよいですか?認証は、Windowsドメインコントローラー用のKerberosプロトコルを使用して実行する必要があります。よろしくお願いします、ダン
2 に答える
Windows のみの JAAS ログイン モジュールと SSO ネゴシエート (Kerberos/NTLM) オーセンティケーターの無料の実装があります: Waffle。
独自に作成するか、サードパーティの認証モジュールを使用する必要があります。これを行っていたとき、JDKから入手できるものがなかったので、このツールを使用しました。GPLですが、そこから学ぶことができます。confを作成する必要があります。認証モジュールを記述し、 java.security.auth.login.configプロパティを使用してJVMにフィードするファイル(たとえば、-Dまたはいずれかの方法を使用)。タギシュの場合は次のようになります。
NTLogin {com.tagish.auth.win32.NTSystemLogin required returnNames = true returnSIDs = false defaultDomain = "domain"; };
もう1つ必要なのは、java.security.krb5.confプロパティを介してKerberos構成ファイルを指定することです。このファイルの詳細は手元にありませんが、ネット上で簡単に見つけることができます-googleaboutkrb5.conf。このファイルの設定は、Windowsドメインおよび他のWindows固有の設定と一致する必要があります。
構成するのは少し難しいですが、私にとっては非常にうまく機能し、かなり堅牢でした。