Curl Global Community
Curlのログインについて - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: Curlのログインについて (/showthread.php?tid=174)



Curlのログインについて - umemura - 08-01-2011

Curlでログインって、どんなふうにするんでしょうか。



RE: Curlのログインについて - umemura - 08-01-2011

一番シンプルなのは、jsessionidみたいなセッション情報をレスポンスで返してもらって、
その後の通信のたびにフォームデータを送るときにセッション情報も一緒に送る、というものでしょうか。

また、Curlもクッキーが利用できるので、set-insecure-http-cookie とかを使って、
ログインのレスポンスなどで帰ってきた情報クッキーに書いてやれば、
その後の通信でいちいちセッション情報を渡す必要はない、という認識です。

HTMLの中でCurlを実行する場合であれば、すでにそのブラウザが持ってる認証情報を、
request-browser-resident-http を使って引き継ぐ、ということもできるようですね。

よくシングルサインオンをどう実現するか、とか聞かれますが、
基本的にサーバーでの実装方式のもんだいであって、
Curlは上記の方法などでセッション情報を(フォームの中に入れるかクッキーを使うかどちらかで)送れば良いだけ、
という認識ですが、間違ってませんかね?



RE: Curlのログインについて - hokada - 08-02-2011

(08-01-2011, 09:35 PM)umemura Wrote: 一番シンプルなのは、jsessionidみたいなセッション情報をレスポンスで返してもらって、
その後の通信のたびにフォームデータを送るときにセッション情報も一緒に送る、というものでしょうか。
サーバサイドにてセッションオブジェクトを生成することで、上記のことはやってくれると思います。ログインが成功すれば、そのセッションオブジェクトにユーザ情報をほりこんであげることで、次回からの認証済みかどうかをチェックするのに使えると思いますよ。




RE: Curlのログインについて - hokada - 08-02-2011

(08-01-2011, 09:35 PM)umemura Wrote: また、Curlもクッキーが利用できるので、set-insecure-http-cookie とかを使って、
ログインのレスポンスなどで帰ってきた情報クッキーに書いてやれば、
その後の通信でいちいちセッション情報を渡す必要はない、という認識です。
これはCurl側で実装する必要ないと思います。

ちなみに、CurlとサーバサイドJava(Spring Framework)の認証の説明としては、以下の記事(私が書いたものですが・・。)が、参考になるかもしれません。

Spring FrameworkとCurl ORBを用いたアプリケーション開発 ユーザ認証とアクセス制御

ご参考まで。