0

サーブレットから j_security_check にリクエストを送信し、レスポンスから認証 Cookie を取得したい。コード:

String url = "http://someserver:8080/j_security_check?j_username=user&j_password=qwerty";
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();

間違った認証パラメータを入力すると、応答時にデフォルトの間違ったログイン ページが表示されますが、正しい認証パラメータを入力すると、サーバー コード 408 が表示されます。何が問題なのですか?

4

1 に答える 1

7

j_security_check auth を使用して tomcat サーバーでリソースを取得するには、次の 3 つの手順を実装する必要があります。

  1. 必要なプライベート リソースに GET リクエストを送信すると、応答として Cookie が取得されます (Header "Set cookie".
  2. (ステップ 1 からの) Cookie を含む要求を j_security_check に送信します。応答すると、コード 302 - 「Moved Temporarily」が返されます。
  3. これで、同じ Cookie を使用してプライベート リソースへのリクエストを繰り返すことができ、応答時に必要なリソース データを取得できます。
于 2011-04-08T15:38:17.063 に答える