4

Tomcat で実行される小さな Java (サーブレット) 認証 Web アプリケーションを構築しています。アプリケーションはユーザーを認証し、ユーザーを (別のサーバー上の) 別の Web アプリケーションにリダイレクトします。問題は、ユーザーが認証された後、このセッションが認証され、Apache が (RewriteRules を使用して) http 要求を (認証用ではなく) ターゲット Web アプリケーションにリダイレクトする必要があることを Apache に伝える必要があることです。

私の調査によると、3 つのオプションがあります。 1. 認証が成功した後、このセッションが認証されていることを Apache に伝える URL にリダイレクトします (RewriteRules を使用)。この情報を Cookie (問題: セキュリティ) または Apache 環境変数 (問題: 非アクティブな環境変数をクリアしています ...) に保存できます。2.セッションをデータベースに保存するためにapache modを使用します。認証が成功すると、Java アプリでデータベースを更新すると、Apache はすべてのリクエストをターゲット URL にリダイレクトします (問題: DB アクセス負荷 (最大 500 人のアクティブな同時ユーザー))。3. HTTP トンネリング。ただし、これは、ターゲット アプリケーションへのすべての要求が認証アプリケーションを通過することを意味します (問題: 冗長、遅い、...)

  1. これを行う別の方法はありますか?
  2. これを行う最良の方法は何ですか?

本当にありがとう。

4

1 に答える 1

2

これを行ういくつかの方法、

  1. エンタープライズ ソリューションを購入する余裕がある場合は、Oracle Identity Management / Oracle Access Management を使用してください。ログインに成功し、適切な Cookie が追加されると、ログイン ページにリダイレクトされます。今後のすべてのリクエストでは、内部側のリクエストにヘッダーが挿入されます。内部アプリはヘッダーをキー入力し、ユーザーがログインしたことを確認できます。開発を行うには、Firefox ModifyHeaders プラグインを使用して、OIM/OAM なしで安全なアプリを実行できます。

  2. エンタープライズ ソリューションを購入する余裕がない場合は、OpenIAM を使用してください。OpenIAM は同じことを行いますが、レポート機能や高可用性機能がなく小規模です。

  3. これを行うことの 3 分の 1 はあるかもしれませんが、試したことはありません。それは、http://authmemcookie.sourceforge.net/ や http:// などの Apache の認証モジュール (またはそれらの組み合わせ) を使用すること ですhttpd.apache.org/docs/trunk/mod/mod_session.html

幸運を!

于 2013-10-20T15:56:07.990 に答える