1

すべてのユーザーが登録され、Windows にログインするために使用される Windows Active Directory があります。

LDAP を使用してその Active Directory 内のユーザーを認証するように構成された Apache サーバーがあります。これは、PHP で を呼び出すだけでよいように設定されています$_SERVER['REMOTE_USER']。ブラウザは Windows でのユーザー ログインを確認し、このデータを Apache に送信します。Apache は LDAP と通信して認証を確認します。LDAP が認証する場合、そのコードはユーザーのログインを返します。それ以外の場合は null を返します。

このようにして、PHP 内でユーザーを安全かつ簡単に認証し、AD ログインを使用してソフトウェアへのアクセスを制御できます。もう 1 つの利点は、ログイン ページが必要なく、変数でパスワードを処理する必要さえないことです。認証はユーザーに対して透過的に処理され、ユーザーは常にソフトウェアに自動的に記録され、ユーザーのパスワードがコードに入力されることはありません。

サーブレットでも同じことをしたいです。PHPで動作する場合、それが起こらない理由はありません。しかし、私はそれを行う方法を見つけることができません。私はグーグルで検索しましたが、何も見つかりませんでした。誰かがそのようなことをしたことがありますか?

ログインとパスワードによる標準認証は、Java で機能します。ドメイン、ログイン、パスワード (サーブレットではログイン ページから取得される) があれば、任意のユーザーを認証できます。

4

3 に答える 3

3

あなたがしようとしているのは、SSO プロバイダーを Web アプリにプラグインすることです。いくつかのオプションがあります。自分の環境で何が最適かを独自に調査する必要があります。すべて SSO を有効にする次のセキュリティ フレームワークを調査することをお勧めします。

同じことを行う CA SiteMinder のような商用製品もあります。

于 2013-01-24T15:41:21.760 に答える
1

あなたの投稿は Tomcat としてタグ付けされています。認証を行うためにTomcatに「レルム」を追加できます。

LDAPに対してユーザーを確認するために何らかのSASLプラグインを使用していない限り、パスワードの入力を求めることができない方法はわかりません。

$_SERVER['REMOTE_USER'] は、(AFIK)資格情報のポップアップが必要な「HTTP認証」ヘッダーを使用していることを意味します。おそらくこれは、Windows サーバーに対して IE を使用するだけであれば透過的です。

tomcatの設定方法の例があります

于 2013-01-25T10:28:03.557 に答える