1

Web アプリケーションを.warファイルとして顧客に配布します。そうすれば、ユーザーは war をコンテナーに展開するだけで準備完了です。問題は、一部の顧客が認証を希望し、ユーザー名をアプリケーション内の特定の操作のパラメーターとして使用することです。

web.xml を使用してこれを構成する方法は知っていますが、それは顧客に war ファイルをハックするか、2 つの別個の war を配布するように指示する必要があることを意味します。1 つは認証 (および事前定義されたロール) を使用し、もう 1 つは認証を使用しません。

また、顧客に認証を強制したくありません。Java コンテナーと Web サーバー全般に関する知識が必要になり、アプリケーションをテスト ドライブするのが難しくなるためです。

Web アプリ自体ではなく、コンテナーで認証構成を行う方法はありますか?

4

3 に答える 3

2

web.xml で、セキュリティ制約を定義して、Web リソース コレクションを J2EE ロールとログイン構成にバインドします (両方とも、アプリのリソースの一部へのアクセス制御を必要とする顧客向けです)。

次に、Web アプリで定義された J2EE ロールを、アプリ サーバーで定義された特定のユーザーおよびグループのユーザー グループに顧客がバインドできるようにします。アクセス制御を必要としないお客様は、すべてのロールを無許可のユーザーにバインドできます (そのユーザー グループの名前は appserver に固有です。たとえば、Websphere はそれを「Everyone」と呼びます)。Web アプリケーション内のリソースへのアクセスを限定されたユーザーまたはユーザー グループに制限したいお客様は、ニーズに応じてロールをユーザー/グループにバインドすることでこれを行うことができます。

ロール内のユーザーのメンバーシップを確認するために認証が必要な場合は、web.xml のログイン構成で指定された認証方法が使用されます。

于 2009-02-03T12:07:45.243 に答える
0

ユーザー情報をデータソース (データベース) などに保存することは一般的な方法です。アプリケーションで認証に同じデータソースを使用するようにします。データベースは保守が比較的簡単です。アプリケーション内からユーザー情報を維持するために、いくつかの管理ページを実装することもできます。

于 2009-02-03T10:39:01.227 に答える
-1

Glassfish などの多くのコンテナは、JDBC レルムをサポートしています。この場合、グループのアクセスを (web.xml などで) 構成し、顧客にユーザー名、パスワード、およびグループ メンバーシップを構成させることができます。

于 2009-02-03T11:31:28.500 に答える