10

web.xml (java-webcontainer) 内で FORM 認証を正常にセットアップしました。

FORM-Authentication を使用しているときに、クライアントからの restful-uri の get-request 内でユーザー名/パスワードを送信する方法が見つかりませんでした。したがって、restful-uri に対してのみ BASIC 認証を使用する必要があります。

だから私はこの質問があります:

フォームベース認証と基本認証の両方を設定するにはどうすればよいですか? 基本認証は、restful-uri に対してのみ有効にする必要があります。

4

2 に答える 2

12

私も同様の問題に直面していました.Wildflyを使用している場合、web.xmlを使用して複数のメカニズムを構成できることに気付きました:-

    <auth-method>BASIC?silent=true,FORM</auth-method>

このサイレント基本認証の使用が最初に試行されます。これは、Authorization ヘッダーが存在する場合にのみ有効になる基本認証です。そのようなヘッダーが存在しない場合は、代わりにフォーム認証が使用されます。

返信するには遅すぎるかもしれませんが、誰かがこれを役に立つと思った場合に備えて、これを更新しました:P

于 2015-08-11T18:59:52.390 に答える
7

ここでしばらく応答がなかったので、サーブレットを自分で簡単に復習しました。実際、サーブレットの仕様<login-config>では、Web アプリケーションごとに 1 つの要素しか許可されていないため、REST API 用に BASIC 認証を使用するエントリ ポイントと、UI 用に FORM ベース認証を使用する別のエントリ ポイントを持つ方法はありません。唯一のオプションは、それらを 2 つの独立して展開可能なアプリケーションとして構築することです。コードの重複を避けるために、サードパーティのクライアントと同じように UI アプリケーションが REST API と対話できるようにすることをお勧めします。

于 2012-08-08T13:38:16.217 に答える