cookie認証方法

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

cookie認証方法

Hayakawa-2
はじめまして。bodyと申します。

axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。

http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
上記URLにおいて、axisのセッションについて書かれていますが、
このようにクライアントに、

service.setMaintainSession(true);

のコードを埋め込むだけで、認証が行われるのでしょうか?
(ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)

また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
ンを使用している場合には動作しないものなのでしょうか?


参考情報ありましたら、ご提供ください。

--
<[hidden email]>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: cookie認証方法

Toshi
To: bodyさん

 はじめまして。
 木村と申します。

 下記本文中で「Cookie認証」という言葉が用いられている
のですが、何を意図しているのかよく分かりません。

 具体的にどのようなことを実現したいのかにつてもう少し
詳しく教えていただくことはできますでしょうか?

よろしくお願いします。
---
Toshi <[hidden email]>

On Sat, 26 Aug 2006, hayakawa wrote:

> はじめまして。bodyと申します。
>
> axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。
>
> http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
> 上記URLにおいて、axisのセッションについて書かれていますが、
> このようにクライアントに、
>
> service.setMaintainSession(true);
>
> のコードを埋め込むだけで、認証が行われるのでしょうか?
> (ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)
>
> また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
> 例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
> ンを使用している場合には動作しないものなのでしょうか?
>
>
> 参考情報ありましたら、ご提供ください。
>
> --
> <[hidden email]>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: cookie認証方法

Hayakawa-2

木村さん

bodyです。レスありがとうございます。
#とりあえずMLが機能していて助かりました。

>  下記本文中で「Cookie認証」という言葉が用いられている
> のですが、何を意図しているのかよく分かりません。
言葉足らずですみません。
Cookieを使ったセッションの管理です。

@ITサイトからの引用ですが、
-----------------------------
セッションを利用できるようにするには、Webブラウザが持っている機能をWebサー
ビス・クライアントにおいても実現することです。いちいち記述することは大変
面倒ですが、Axisには便利なAPIが用意されているため、大変容易にセッション
を利用することができます。

Axisには「setMaintainSession()」メソッドが用意されています。
このメソッドはServiceインスタンスに対して実行することで、Cookieを扱える
ようにしてくれるものです。利用方法は、次のようにWebサービス・クライアン
トプログラムを変更するだけです。
-----------------------------
とあります。

その回答として、
> > service.setMaintainSession(true);
をクライアントにて記述すればよい、との記載例なのですが、

例えば、
・1サーバに対し1Cookieの保持なのか
・Cookieの容量はどのくらいまで大丈夫なのか
などの疑問があります。

このように色々懸念材料があるにも関わらず、
setterひとつで簡単に実装できてしまうの? ということです。

とりあえず前提として、Cookieでのセッション管理は可能であるという認識でよ
いのでしょうか?


環境は、

◆Client
axis1.1
J2SE1.4

◆Server
WebSphere 5.1 or 6

で行っています。
#現状Cookieセッション管理無しでWebServiceは動作しています。
#今手元にコードがないので、用意しておきます。

よろしくお願いします。

--
hayakawa <[hidden email]>

> To: bodyさん
>
>  はじめまして。
>  木村と申します。
>
>  下記本文中で「Cookie認証」という言葉が用いられている
> のですが、何を意図しているのかよく分かりません。
>
>  具体的にどのようなことを実現したいのかにつてもう少し
> 詳しく教えていただくことはできますでしょうか?
>
> よろしくお願いします。
> ---
> Toshi <[hidden email]>
>
> On Sat, 26 Aug 2006, hayakawa wrote:
>
> > はじめまして。bodyと申します。
> >
> > axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。
> >
> > http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
> > 上記URLにおいて、axisのセッションについて書かれていますが、
> > このようにクライアントに、
> >
> > service.setMaintainSession(true);
> >
> > のコードを埋め込むだけで、認証が行われるのでしょうか?
> > (ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)
> >
> > また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
> > 例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
> > ンを使用している場合には動作しないものなのでしょうか?
> >
> >
> > 参考情報ありましたら、ご提供ください。
> >
> > --
> > <[hidden email]>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: cookie認証方法

Toshi
To: bodyさん

 木村です。

 まず、「通常のWebブラウジング」と「Webサービス」でのCookieの
利用方法には違いがあります。Webブラウザでの動作や仕組みについて
はご理解頂いているという前提として、「Webサービス」では

・Cookieを使ったセッション管理を試みても良いが、それが確実に
 機能する保証はない
・Webサービスの正常動作のために、クライアントのCookie対応を
 必須とすべきではない
・Cookieで転送される値が、クライアントにとって意味のある値を
 利用すべきではない

という考えがあります。これは、Webサービスの根本的な考え方として
意味のあるデータはSOAPメッセージの中でやり取りすべきであって、
特定のトランスポートプロトコル(HTTPなど)に依存すべきではない、
という思想が強く影響しています。

 Cookieは、HTTPプロトコルに蜜に依存している他、SOAPメッセージ
の外側でデータ交換する仕組みであることから言って、Webサービス界
では「異端」と言っても良いかも知れません。しかし、現実世界では
Cookieを利用したセッション管理が最も普及していて、確実な手法で
あるのも事実です。このため、AxisではCookieを利用したセッション
管理に対応しました。

 セッション管理は、サーバ側とクライアント側双方が対応する必要
がありますが、Axisでは以下の変更が必要です。

・サーバ側
 WSDD内のSessionスコープパラメタにより、スコープを設定

・クライアント側
 「service.setMaintainSession(true);」によりCookieを受付ける

 この辺りは、オリジナルの@IT記事を改めて読み直して頂ければ詳細
をご理解いただけるものと思います。

 一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
はすべきではない、という事になります。Webサービスでのセッション
管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
クライアント間で送受信することにより、連続したWebサービス通信で
あることを示す、というハンドリングを指します。

以上でご理解頂けたでしょうか?
---
Toshi <[hidden email]>

On Mon, 28 Aug 2006, hayakawa wrote:

>
> 木村さん
>
> bodyです。レスありがとうございます。
> #とりあえずMLが機能していて助かりました。
>
>>  下記本文中で「Cookie認証」という言葉が用いられている
>> のですが、何を意図しているのかよく分かりません。
> 言葉足らずですみません。
> Cookieを使ったセッションの管理です。
>
> @ITサイトからの引用ですが、
> -----------------------------
> セッションを利用できるようにするには、Webブラウザが持っている
> 機能をWebサービス・クライアントにおいても実現することです。
> いちいち記述することは大変面倒ですが、Axisには便利なAPIが用意
> されているため、大変容易にセッションを利用することができます。
>
> Axisには「setMaintainSession()」メソッドが用意されています。
> このメソッドはServiceインスタンスに対して実行することで、
> Cookieを扱えるようにしてくれるものです。利用方法は、次のように
> Webサービス・クライアントプログラムを変更するだけです。
> -----------------------------
> とあります。
>
> その回答として、
>>> service.setMaintainSession(true);
> をクライアントにて記述すればよい、との記載例なのですが、
>
> 例えば、
> ・1サーバに対し1Cookieの保持なのか
> ・Cookieの容量はどのくらいまで大丈夫なのか
> などの疑問があります。
>
> このように色々懸念材料があるにも関わらず、
> setterひとつで簡単に実装できてしまうの?ということです。
>
> とりあえず前提として、Cookieでのセッション管理は可能であると
> いう認識でよいのでしょうか?
>
> 環境は、
>
> ◆Client
> axis1.1
> J2SE1.4
>
> ◆Server
> WebSphere 5.1 or 6
>
> で行っています。
> #現状Cookieセッション管理無しでWebServiceは動作しています。
> #今手元にコードがないので、用意しておきます。
>
> よろしくお願いします。
>
> --
> hayakawa <[hidden email]>
>
>> To: bodyさん
>>
>>  はじめまして。
>>  木村と申します。
>>
>>  下記本文中で「Cookie認証」という言葉が用いられている
>> のですが、何を意図しているのかよく分かりません。
>>
>>  具体的にどのようなことを実現したいのかにつてもう少し
>> 詳しく教えていただくことはできますでしょうか?
>>
>> よろしくお願いします。
>> ---
>> Toshi <[hidden email]>
>>
>> On Sat, 26 Aug 2006, hayakawa wrote:
>>
>>> はじめまして。bodyと申します。
>>>
>>> axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。
>>>
>>> http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
>>> 上記URLにおいて、axisのセッションについて書かれていますが、
>>> このようにクライアントに、
>>>
>>> service.setMaintainSession(true);
>>>
>>> のコードを埋め込むだけで、認証が行われるのでしょうか?
>>> (ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)
>>>
>>> また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
>>> 例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
>>> ンを使用している場合には動作しないものなのでしょうか?
>>>
>>>
>>> 参考情報ありましたら、ご提供ください。
>>>
>>> --
>>> <[hidden email]>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: cookie認証方法

Hayakawa-2

bodyです。

木村さんへ

返答ありがとうございます。
WS-Iにそういった記載がありますね。
その旨は理解しているつもりです。

>  一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
> の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
> はすべきではない、という事になります。Webサービスでのセッション
> 管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
> クライアント間で送受信することにより、連続したWebサービス通信で
> あることを示す、というハンドリングを指します。

例えば、ロードバランシングによるサーバ分散への対応を考えています。
サーバより受け取ったCookieを使い続けることで、分散環境においても特定サー
バにのみ向かうよう仕向けるわけです。
(複数メソッドの実行で1オペレーション完了となるようなWebServiceです)

この場合「特別な意味を持つ」ので、やはりすべきではないのでしょうか?


また、axis間以外を考えた場合、Cookieによるセッション管理の動作は期待する
べきではないと考えてよいのでしょうか?
(例:Client axis / Server .Net)
(例:Client .Net / Server axis)とかです。


--
hayakawa <[hidden email]>

> To: bodyさん
>
>  木村です。
>
>  まず、「通常のWebブラウジング」と「Webサービス」でのCookieの
> 利用方法には違いがあります。Webブラウザでの動作や仕組みについて
> はご理解頂いているという前提として、「Webサービス」では
>
> ・Cookieを使ったセッション管理を試みても良いが、それが確実に
>  機能する保証はない
> ・Webサービスの正常動作のために、クライアントのCookie対応を
>  必須とすべきではない
> ・Cookieで転送される値が、クライアントにとって意味のある値を
>  利用すべきではない
>
> という考えがあります。これは、Webサービスの根本的な考え方として
> 意味のあるデータはSOAPメッセージの中でやり取りすべきであって、
> 特定のトランスポートプロトコル(HTTPなど)に依存すべきではない、
> という思想が強く影響しています。
>
>  Cookieは、HTTPプロトコルに蜜に依存している他、SOAPメッセージ
> の外側でデータ交換する仕組みであることから言って、Webサービス界
> では「異端」と言っても良いかも知れません。しかし、現実世界では
> Cookieを利用したセッション管理が最も普及していて、確実な手法で
> あるのも事実です。このため、AxisではCookieを利用したセッション
> 管理に対応しました。
>
>  セッション管理は、サーバ側とクライアント側双方が対応する必要
> がありますが、Axisでは以下の変更が必要です。
>
> ・サーバ側
>  WSDD内のSessionスコープパラメタにより、スコープを設定
>
> ・クライアント側
>  「service.setMaintainSession(true);」によりCookieを受付ける
>
>  この辺りは、オリジナルの@IT記事を改めて読み直して頂ければ詳細
> をご理解いただけるものと思います。
>
>  一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
> の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
> はすべきではない、という事になります。Webサービスでのセッション
> 管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
> クライアント間で送受信することにより、連続したWebサービス通信で
> あることを示す、というハンドリングを指します。
>
> 以上でご理解頂けたでしょうか?
> ---
> Toshi <[hidden email]>
>
> On Mon, 28 Aug 2006, hayakawa wrote:
>
> >
> > 木村さん
> >
> > bodyです。レスありがとうございます。
> > #とりあえずMLが機能していて助かりました。
> >
> >>  下記本文中で「Cookie認証」という言葉が用いられている
> >> のですが、何を意図しているのかよく分かりません。
> > 言葉足らずですみません。
> > Cookieを使ったセッションの管理です。
> >
> > @ITサイトからの引用ですが、
> > -----------------------------
> > セッションを利用できるようにするには、Webブラウザが持っている
> > 機能をWebサービス・クライアントにおいても実現することです。
> > いちいち記述することは大変面倒ですが、Axisには便利なAPIが用意
> > されているため、大変容易にセッションを利用することができます。
> >
> > Axisには「setMaintainSession()」メソッドが用意されています。
> > このメソッドはServiceインスタンスに対して実行することで、
> > Cookieを扱えるようにしてくれるものです。利用方法は、次のように
> > Webサービス・クライアントプログラムを変更するだけです。
> > -----------------------------
> > とあります。
> >
> > その回答として、
> >>> service.setMaintainSession(true);
> > をクライアントにて記述すればよい、との記載例なのですが、
> >
> > 例えば、
> > ・1サーバに対し1Cookieの保持なのか
> > ・Cookieの容量はどのくらいまで大丈夫なのか
> > などの疑問があります。
> >
> > このように色々懸念材料があるにも関わらず、
> > setterひとつで簡単に実装できてしまうの?ということです。
> >
> > とりあえず前提として、Cookieでのセッション管理は可能であると
> > いう認識でよいのでしょうか?
> >
> > 環境は、
> >
> > ◆Client
> > axis1.1
> > J2SE1.4
> >
> > ◆Server
> > WebSphere 5.1 or 6
> >
> > で行っています。
> > #現状Cookieセッション管理無しでWebServiceは動作しています。
> > #今手元にコードがないので、用意しておきます。
> >
> > よろしくお願いします。
> >
> > --
> > hayakawa <[hidden email]>
> >
> >> To: bodyさん
> >>
> >>  はじめまして。
> >>  木村と申します。
> >>
> >>  下記本文中で「Cookie認証」という言葉が用いられている
> >> のですが、何を意図しているのかよく分かりません。
> >>
> >>  具体的にどのようなことを実現したいのかにつてもう少し
> >> 詳しく教えていただくことはできますでしょうか?
> >>
> >> よろしくお願いします。
> >> ---
> >> Toshi <[hidden email]>
> >>
> >> On Sat, 26 Aug 2006, hayakawa wrote:
> >>
> >>> はじめまして。bodyと申します。
> >>>
> >>> axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。
> >>>
> >>> http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
> >>> 上記URLにおいて、axisのセッションについて書かれていますが、
> >>> このようにクライアントに、
> >>>
> >>> service.setMaintainSession(true);
> >>>
> >>> のコードを埋め込むだけで、認証が行われるのでしょうか?
> >>> (ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)
> >>>
> >>> また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
> >>> 例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
> >>> ンを使用している場合には動作しないものなのでしょうか?
> >>>
> >>>
> >>> 参考情報ありましたら、ご提供ください。
> >>>
> >>> --
> >>> <[hidden email]>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: cookie認証方法

Toshi
To: bodyさんへ

 木村です。

> 例えば、ロードバランシングによるサーバ分散への対応を考えています。
> サーバより受け取ったCookieを使い続けることで、分散環境においても
> 特定サーバにのみ向かうよう仕向けるわけです。
> (複数メソッドの実行で1オペレーション完了となるようなWebService
> です)

 上記例は、セッション管理が必要となるごく一般的な事例だと思います。

> この場合「特別な意味を持つ」ので、やはりすべきではないのでしょうか?

 そうではありません。
 WebサービスのCookie値は、『業務ロジックとして意味を持たないIDのみに
限定すべきであって、Bodyさんの元々の質問にあったようにCookieに複数の
値を格納しようとしたり、その格納値に業務的な意味を持たせるような使い
方は、Webサービス的ではない』という意味です。前述のロードバランシング
の例も、乱数などのユニークなセッションIDがCookie値に格納されるだけで
実現可能な訳です。

> また、axis間以外を考えた場合、Cookieによるセッション管理の動作は期待
> するべきではないと考えてよいのでしょうか?
> (例:Client axis / Server .Net)
> (例:Client .Net / Server axis)とかです。

 恐らく、かなり古いバージョンのランタイムでなければ、期待とおりに動作
すると思います。しかし、各種仕様としては、Cookieによるセッション管理が
必須項目でない以上、全てのクロスプラットフォームの相互接続性を保証する
のは難しいとは思います。安心するためには、利用するランタイムを決定して
自ら動作検証する必要があります。

宜しくお願いします。
---
Toshi <[hidden email]>

On Wed, 30 Aug 2006, hayakawa wrote:

>
> bodyです。
>
> 木村さんへ
>
> 返答ありがとうございます。
> WS-Iにそういった記載がありますね。
> その旨は理解しているつもりです。
>
>>  一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
>> の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
>> はすべきではない、という事になります。Webサービスでのセッション
>> 管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
>> クライアント間で送受信することにより、連続したWebサービス通信で
>> あることを示す、というハンドリングを指します。
>
> 例えば、ロードバランシングによるサーバ分散への対応を考えています。
> サーバより受け取ったCookieを使い続けることで、分散環境においても特定サー
> バにのみ向かうよう仕向けるわけです。
> (複数メソッドの実行で1オペレーション完了となるようなWebServiceです)
>
> この場合「特別な意味を持つ」ので、やはりすべきではないのでしょうか?
>
>
> また、axis間以外を考えた場合、Cookieによるセッション管理の動作は期待する
> べきではないと考えてよいのでしょうか?
> (例:Client axis / Server .Net)
> (例:Client .Net / Server axis)とかです。
>
>
> --
> hayakawa <[hidden email]>
>> To: bodyさん
>>
>>  木村です。
>>
>>  まず、「通常のWebブラウジング」と「Webサービス」でのCookieの
>> 利用方法には違いがあります。Webブラウザでの動作や仕組みについて
>> はご理解頂いているという前提として、「Webサービス」では
>>
>> ・Cookieを使ったセッション管理を試みても良いが、それが確実に
>>  機能する保証はない
>> ・Webサービスの正常動作のために、クライアントのCookie対応を
>>  必須とすべきではない
>> ・Cookieで転送される値が、クライアントにとって意味のある値を
>>  利用すべきではない
>>
>> という考えがあります。これは、Webサービスの根本的な考え方として
>> 意味のあるデータはSOAPメッセージの中でやり取りすべきであって、
>> 特定のトランスポートプロトコル(HTTPなど)に依存すべきではない、
>> という思想が強く影響しています。
>>
>>  Cookieは、HTTPプロトコルに蜜に依存している他、SOAPメッセージ
>> の外側でデータ交換する仕組みであることから言って、Webサービス界
>> では「異端」と言っても良いかも知れません。しかし、現実世界では
>> Cookieを利用したセッション管理が最も普及していて、確実な手法で
>> あるのも事実です。このため、AxisではCookieを利用したセッション
>> 管理に対応しました。
>>
>>  セッション管理は、サーバ側とクライアント側双方が対応する必要
>> がありますが、Axisでは以下の変更が必要です。
>>
>> ・サーバ側
>>  WSDD内のSessionスコープパラメタにより、スコープを設定
>>
>> ・クライアント側
>>  「service.setMaintainSession(true);」によりCookieを受付ける
>>
>>  この辺りは、オリジナルの@IT記事を改めて読み直して頂ければ詳細
>> をご理解いただけるものと思います。
>>
>>  一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
>> の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
>> はすべきではない、という事になります。Webサービスでのセッション
>> 管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
>> クライアント間で送受信することにより、連続したWebサービス通信で
>> あることを示す、というハンドリングを指します。
>>
>> 以上でご理解頂けたでしょうか?
>> ---
>> Toshi <[hidden email]>
>>
>> On Mon, 28 Aug 2006, hayakawa wrote:
>>
>>>
>>> 木村さん
>>>
>>> bodyです。レスありがとうございます。
>>> #とりあえずMLが機能していて助かりました。
>>>
>>>>  下記本文中で「Cookie認証」という言葉が用いられている
>>>> のですが、何を意図しているのかよく分かりません。
>>> 言葉足らずですみません。
>>> Cookieを使ったセッションの管理です。
>>>
>>> @ITサイトからの引用ですが、
>>> -----------------------------
>>> セッションを利用できるようにするには、Webブラウザが持っている
>>> 機能をWebサービス・クライアントにおいても実現することです。
>>> いちいち記述することは大変面倒ですが、Axisには便利なAPIが用意
>>> されているため、大変容易にセッションを利用することができます。
>>>
>>> Axisには「setMaintainSession()」メソッドが用意されています。
>>> このメソッドはServiceインスタンスに対して実行することで、
>>> Cookieを扱えるようにしてくれるものです。利用方法は、次のように
>>> Webサービス・クライアントプログラムを変更するだけです。
>>> -----------------------------
>>> とあります。
>>>
>>> その回答として、
>>>>> service.setMaintainSession(true);
>>> をクライアントにて記述すればよい、との記載例なのですが、
>>>
>>> 例えば、
>>> ・1サーバに対し1Cookieの保持なのか
>>> ・Cookieの容量はどのくらいまで大丈夫なのか
>>> などの疑問があります。
>>>
>>> このように色々懸念材料があるにも関わらず、
>>> setterひとつで簡単に実装できてしまうの?ということです。
>>>
>>> とりあえず前提として、Cookieでのセッション管理は可能であると
>>> いう認識でよいのでしょうか?
>>>
>>> 環境は、
>>>
>>> ◆Client
>>> axis1.1
>>> J2SE1.4
>>>
>>> ◆Server
>>> WebSphere 5.1 or 6
>>>
>>> で行っています。
>>> #現状Cookieセッション管理無しでWebServiceは動作しています。
>>> #今手元にコードがないので、用意しておきます。
>>>
>>> よろしくお願いします。
>>>
>>> --
>>> hayakawa <[hidden email]>
>>>
>>>> To: bodyさん
>>>>
>>>>  はじめまして。
>>>>  木村と申します。
>>>>
>>>>  下記本文中で「Cookie認証」という言葉が用いられている
>>>> のですが、何を意図しているのかよく分かりません。
>>>>
>>>>  具体的にどのようなことを実現したいのかにつてもう少し
>>>> 詳しく教えていただくことはできますでしょうか?
>>>>
>>>> よろしくお願いします。
>>>> ---
>>>> Toshi <[hidden email]>
>>>>
>>>> On Sat, 26 Aug 2006, hayakawa wrote:
>>>>
>>>>> はじめまして。bodyと申します。
>>>>>
>>>>> axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。
>>>>>
>>>>> http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
>>>>> 上記URLにおいて、axisのセッションについて書かれていますが、
>>>>> このようにクライアントに、
>>>>>
>>>>> service.setMaintainSession(true);
>>>>>
>>>>> のコードを埋め込むだけで、認証が行われるのでしょうか?
>>>>> (ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)
>>>>>
>>>>> また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
>>>>> 例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
>>>>> ンを使用している場合には動作しないものなのでしょうか?
>>>>>
>>>>>
>>>>> 参考情報ありましたら、ご提供ください。
>>>>>
>>>>> --
>>>>> <[hidden email]>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> For additional commands, e-mail: [hidden email]
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: cookie認証方法

Hayakawa-2

木村さんへ

bodyです。

ご教授どうもありがとうございます。
当初の疑問は解決しました。

本日、Cookie実装のテストも完了し、
別のWebServiceライブラリまでも動作を確認できました。

このたびは、ありがとうございました。


> To: bodyさんへ
>
>  木村です。
>
> > 例えば、ロードバランシングによるサーバ分散への対応を考えています。
> > サーバより受け取ったCookieを使い続けることで、分散環境においても
> > 特定サーバにのみ向かうよう仕向けるわけです。
> > (複数メソッドの実行で1オペレーション完了となるようなWebService
> > です)
>
>  上記例は、セッション管理が必要となるごく一般的な事例だと思います。
>
> > この場合「特別な意味を持つ」ので、やはりすべきではないのでしょうか?
>
>  そうではありません。
>  WebサービスのCookie値は、『業務ロジックとして意味を持たないIDのみに
> 限定すべきであって、Bodyさんの元々の質問にあったようにCookieに複数の
> 値を格納しようとしたり、その格納値に業務的な意味を持たせるような使い
> 方は、Webサービス的ではない』という意味です。前述のロードバランシング
> の例も、乱数などのユニークなセッションIDがCookie値に格納されるだけで
> 実現可能な訳です。
>
> > また、axis間以外を考えた場合、Cookieによるセッション管理の動作は期待
> > するべきではないと考えてよいのでしょうか?
> > (例:Client axis / Server .Net)
> > (例:Client .Net / Server axis)とかです。
>
>  恐らく、かなり古いバージョンのランタイムでなければ、期待とおりに動作
> すると思います。しかし、各種仕様としては、Cookieによるセッション管理が
> 必須項目でない以上、全てのクロスプラットフォームの相互接続性を保証する
> のは難しいとは思います。安心するためには、利用するランタイムを決定して
> 自ら動作検証する必要があります。
>
> 宜しくお願いします。
> ---
> Toshi <[hidden email]>
>
> On Wed, 30 Aug 2006, hayakawa wrote:
>
> >
> > bodyです。
> >
> > 木村さんへ
> >
> > 返答ありがとうございます。
> > WS-Iにそういった記載がありますね。
> > その旨は理解しているつもりです。
> >
> >>  一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
> >> の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
> >> はすべきではない、という事になります。Webサービスでのセッション
> >> 管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
> >> クライアント間で送受信することにより、連続したWebサービス通信で
> >> あることを示す、というハンドリングを指します。
> >
> > 例えば、ロードバランシングによるサーバ分散への対応を考えています。
> > サーバより受け取ったCookieを使い続けることで、分散環境においても特定サー
> > バにのみ向かうよう仕向けるわけです。
> > (複数メソッドの実行で1オペレーション完了となるようなWebServiceです)
> >
> > この場合「特別な意味を持つ」ので、やはりすべきではないのでしょうか?
> >
> >
> > また、axis間以外を考えた場合、Cookieによるセッション管理の動作は期待する
> > べきではないと考えてよいのでしょうか?
> > (例:Client axis / Server .Net)
> > (例:Client .Net / Server axis)とかです。
> >
> >
> > --
> > hayakawa <[hidden email]>
> >> To: bodyさん
> >>
> >>  木村です。
> >>
> >>  まず、「通常のWebブラウジング」と「Webサービス」でのCookieの
> >> 利用方法には違いがあります。Webブラウザでの動作や仕組みについて
> >> はご理解頂いているという前提として、「Webサービス」では
> >>
> >> ・Cookieを使ったセッション管理を試みても良いが、それが確実に
> >>  機能する保証はない
> >> ・Webサービスの正常動作のために、クライアントのCookie対応を
> >>  必須とすべきではない
> >> ・Cookieで転送される値が、クライアントにとって意味のある値を
> >>  利用すべきではない
> >>
> >> という考えがあります。これは、Webサービスの根本的な考え方として
> >> 意味のあるデータはSOAPメッセージの中でやり取りすべきであって、
> >> 特定のトランスポートプロトコル(HTTPなど)に依存すべきではない、
> >> という思想が強く影響しています。
> >>
> >>  Cookieは、HTTPプロトコルに蜜に依存している他、SOAPメッセージ
> >> の外側でデータ交換する仕組みであることから言って、Webサービス界
> >> では「異端」と言っても良いかも知れません。しかし、現実世界では
> >> Cookieを利用したセッション管理が最も普及していて、確実な手法で
> >> あるのも事実です。このため、AxisではCookieを利用したセッション
> >> 管理に対応しました。
> >>
> >>  セッション管理は、サーバ側とクライアント側双方が対応する必要
> >> がありますが、Axisでは以下の変更が必要です。
> >>
> >> ・サーバ側
> >>  WSDD内のSessionスコープパラメタにより、スコープを設定
> >>
> >> ・クライアント側
> >>  「service.setMaintainSession(true);」によりCookieを受付ける
> >>
> >>  この辺りは、オリジナルの@IT記事を改めて読み直して頂ければ詳細
> >> をご理解いただけるものと思います。
> >>
> >>  一番bodyさんが知りたい点は、WebブラウザでのCookieのように複数
> >> の意味ある値をWebサービスで送受信する方法だと思うのですが、それ
> >> はすべきではない、という事になります。Webサービスでのセッション
> >> 管理とは、(特別な意味を持たない乱数的な)ユニークなIDをサーバと
> >> クライアント間で送受信することにより、連続したWebサービス通信で
> >> あることを示す、というハンドリングを指します。
> >>
> >> 以上でご理解頂けたでしょうか?
> >> ---
> >> Toshi <[hidden email]>
> >>
> >> On Mon, 28 Aug 2006, hayakawa wrote:
> >>
> >>>
> >>> 木村さん
> >>>
> >>> bodyです。レスありがとうございます。
> >>> #とりあえずMLが機能していて助かりました。
> >>>
> >>>>  下記本文中で「Cookie認証」という言葉が用いられている
> >>>> のですが、何を意図しているのかよく分かりません。
> >>> 言葉足らずですみません。
> >>> Cookieを使ったセッションの管理です。
> >>>
> >>> @ITサイトからの引用ですが、
> >>> -----------------------------
> >>> セッションを利用できるようにするには、Webブラウザが持っている
> >>> 機能をWebサービス・クライアントにおいても実現することです。
> >>> いちいち記述することは大変面倒ですが、Axisには便利なAPIが用意
> >>> されているため、大変容易にセッションを利用することができます。
> >>>
> >>> Axisには「setMaintainSession()」メソッドが用意されています。
> >>> このメソッドはServiceインスタンスに対して実行することで、
> >>> Cookieを扱えるようにしてくれるものです。利用方法は、次のように
> >>> Webサービス・クライアントプログラムを変更するだけです。
> >>> -----------------------------
> >>> とあります。
> >>>
> >>> その回答として、
> >>>>> service.setMaintainSession(true);
> >>> をクライアントにて記述すればよい、との記載例なのですが、
> >>>
> >>> 例えば、
> >>> ・1サーバに対し1Cookieの保持なのか
> >>> ・Cookieの容量はどのくらいまで大丈夫なのか
> >>> などの疑問があります。
> >>>
> >>> このように色々懸念材料があるにも関わらず、
> >>> setterひとつで簡単に実装できてしまうの?ということです。
> >>>
> >>> とりあえず前提として、Cookieでのセッション管理は可能であると
> >>> いう認識でよいのでしょうか?
> >>>
> >>> 環境は、
> >>>
> >>> ◆Client
> >>> axis1.1
> >>> J2SE1.4
> >>>
> >>> ◆Server
> >>> WebSphere 5.1 or 6
> >>>
> >>> で行っています。
> >>> #現状Cookieセッション管理無しでWebServiceは動作しています。
> >>> #今手元にコードがないので、用意しておきます。
> >>>
> >>> よろしくお願いします。
> >>>
> >>> --
> >>> hayakawa <[hidden email]>
> >>>
> >>>> To: bodyさん
> >>>>
> >>>>  はじめまして。
> >>>>  木村と申します。
> >>>>
> >>>>  下記本文中で「Cookie認証」という言葉が用いられている
> >>>> のですが、何を意図しているのかよく分かりません。
> >>>>
> >>>>  具体的にどのようなことを実現したいのかにつてもう少し
> >>>> 詳しく教えていただくことはできますでしょうか?
> >>>>
> >>>> よろしくお願いします。
> >>>> ---
> >>>> Toshi <[hidden email]>
> >>>>
> >>>> On Sat, 26 Aug 2006, hayakawa wrote:
> >>>>
> >>>>> はじめまして。bodyと申します。
> >>>>>
> >>>>> axis1.1を用いたWebサービスにおいて、Cookie認証の情報を探しています。
> >>>>>
> >>>>> http://www.atmarkit.co.jp/fjava/rensai2/wbsrvic05/wbsrvic05_3.html
> >>>>> 上記URLにおいて、axisのセッションについて書かれていますが、
> >>>>> このようにクライアントに、
> >>>>>
> >>>>> service.setMaintainSession(true);
> >>>>>
> >>>>> のコードを埋め込むだけで、認証が行われるのでしょうか?
> >>>>> (ClientにCookieを受け取ったり、維持するようなハンドリングは不要なのか?)
> >>>>>
> >>>>> また、これはサーバクライアント共にaxisを用いた場合にのみ保障されるもので、
> >>>>> 例えサーバ側からCookieが発行されていたとしても、サーバがaxis以外のエンジ
> >>>>> ンを使用している場合には動作しないものなのでしょうか?
> >>>>>
> >>>>>
> >>>>> 参考情報ありましたら、ご提供ください。
> >>>>>
> >>>>> --
> >>>>> <[hidden email]>
> >>>>>
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: [hidden email]
> >>>>> For additional commands, e-mail: [hidden email]
> >>>>>
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [hidden email]
> >>>> For additional commands, e-mail: [hidden email]
> >>>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]