0

グラスフィッシュ上で動作する Web モジュールとアプリクライアントで構成される Java JEE5 エンタープライズ アプリケーションがあります。

Active Directory に対する認証を設定する必要があります。Web モジュールまたはアプリケーション クライアント モジュールに LDAP ベースの認証を設定するのは簡単ですが、アプリケーション クライアントを起動するときに Windows ログオンから資格情報を取得するように求められており、何らかの形で資格情報が ejb に伝播されることは承知しています。いつものティア。これには、ユーザー プリンシパルだけでなく、ロールも含まれます。

簡単に言えば、私の質問は次のとおりです。JAAS は、ユーザーにユーザー名とパスワードの入力を求めることなく、デスクトップ クライアントの Windows 認証メカニズムにプラグインできますか?

ありがとう、パブロ。

4

2 に答える 2

1

詳細や JAAS の互換性についてはわかりませんが、SPNEGOおよび/または統合 Windows 認証が探しているものだと思います。

于 2010-11-14T19:37:52.480 に答える
0

私はこれを試していませんが、ブラウザーから NTLM ユーザー名を取得するコード例を次に示します。

http://www.rgagnon.com/javadetails/java-0441.html

しかし、デスクトップ アプリケーションについて話しているので、NTLM は実際には関与していないため、Java アプリケーション内からユーザー名を取得する方法が質問になるかもしれません。

http://www.roseindia.net/java/java-get-example/java-get-windows-username.shtml

基本的には、次を使用するだけですSystem.getProperty("user.name")

アップデート:

ロールとすべてが必要なため、JNI ( http://download.oracle.com/javase/6/docs/technotes/guides/jni/ ) を使用するのが最善の策かもしれませんが、このアプリを結び付けていることになります。 Java から Windows API 関数を呼び出すことができるため、いずれにせよそうなるように思えます。

于 2010-11-14T18:47:11.923 に答える