Active Directoryでシングルサインオンが必要なJava EE Webアプリケーションを実行しています。シングルサインオンの目的でJava EE Webアプリケーションで現在のWindowsユーザーを取得する
このアプリケーションでは、ユーザ名とパスワードの入力を求められなくなります。認証プロセスでは、現在Windowsにログオンしているユーザーを取得する必要があります。ユーザーがいれば、Active Directoryに照会して、そのログオンユーザーの役割を取得する必要があります。これはWindows以外のユーザーは除外しますが、これは内部アプリケーションであり、すべてのクライアントはWindowsを使用しています。
2つのJava EE WebアプリケーションでSSOを実装する必要があります。 1アプリケーションはGlassFish v2.1.1(JDK 1.6)で実行され、もう1つはTomcat(JDK 1.5)で実行されます。
私の主な問題は、現在のWindowsログオンユーザーを取得する方法です。
私はすでにJAASとKerberosに出会っています。私が間違っているなら、親切に私を修正してください。私の理解では、これらは認証プロトコルであり、ユーザーにログオンしている現在のウィンドウを取得する機能はありません。
私はすでに以下を試しましたが、私はいつもnull
またはサーバー自身のユーザー名を取得しています。
System.getProperty("user.name");
new com.sun.security.auth.module.NTSystem().getName();
request.getUserPrincipal().getName();
System.getenv("USERNAME");
- Tomcatの でJCIF NTLM HTTP認証
- LoginContextの
私は、任意の提案を開いています。
クライアントコンピュータまたはサーバーコンピュータにログオンしているユーザーが必要ですか? –
私は、クライアントマシン上のログオンしたユーザーを希望します。ありがとう。 – Amy