JAX-RSで作成されたwebサイトにcURLから接続しようとしています。
エンドポイントになるURLはプロジェクト内のxxResourse.javaに設定しました。
このサイトはログインしていない場合、または決められたリンクをたどらずにダイレクトにURLにアクセスしようとした場合にはトップページに飛ばされます。
ですので、目的のページへの通信の前にログインする必要があると考えました。
$curl -v -u user:passwd http://localhost:8080/project/login
上のコマンドでログインページから200をもらうことはできました。
ただし、サイト上でログインしたときにコンソールに表示されるメッセージが表示されませんので、本当にログインできているのかはわかりません。
(curlでログイン確認する方法は未詳です)
HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=xxxxxx; Path=/project/; HttpOnly
次に以下のコマンドで目的のページにアクセスしようとしたところ、
$curl -v -H "content-type: text/plain" -d "test_data" -H "cookie:JSESSIONID=xxxxxx" http://localhost:8080/project/target/endpoint
ヘッダ情報では200が返ってきたのに、ボディのHTMLの方で、"ログイン情報がありません。セッションの有効期限切れか、ログアウトされた可能性があります。"とありました。
サーバコンソールにはやはりアクセス時に表示されるメッセージはありません。
クッキーではなくベーシック認証でも同じでした。
-H "Authorization: Basic yyyyyy=="
これは通信はできているだけでログインはできていなかったのだと思うのですが、ログインして目的のページにアクセスするにはどのようにすればよいでしょうか。
(JAX-RSのアクセス制御解除は最後の手段で)
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。