3 4 WAMアプリケーションでのCookieの使用

LANSA WAM

3.4 WAMアプリケーションでのCookieの使用

Webroutineの入力用XMLファイルに特別なcookiesセクションを追加することによって、ブラウザーでCookieを設定する方法を制御できます。例えば次のようになります。

<lxml:server-instructions>
   <lxml:cookies>
      <lxml:cookie name="USRID">
         <lxml:value field-name="EMPNO"></lxml:value>
         <lxml:expires field-name="EXPDAT"></lxml:expires>
         <lxml:domain field-name="DOMAIN"></lxml:domain>
         <lxml:path field-name="PATH"></lxml:path>
         <lxml:secure field-name="SECFLAG"></lxml:secure>

         <lxml:httponly field-name="HTTPFLAG"></lxml:httponly>
     </lxml:cookie>
   </lxml:cookies>
</lxml:server-instructions>

 

この例では、Webroutineのフィールド値に基づいてブラウザーでCookieを設定する場合に必要なcookiesセクションの形式が示されています。lxml:cookieエレメントに、必要なCookie情報をすべて記述します。name属性には、Cookieの格納に使用する名前と、後続のWebroutine要求でCookie値を含むLANSAフィールド名前を指定します。

注:cookiesセクションは、この例のように、server-instructionsセクションの中に入れる必要があります。

以下の表は、各エレメントをまとめています。

エレメント

説明

lxml:value

Cookieに格納する値

lxml:expires

Cookieの有効期限切れの日付(GMT形式)。この値を指定しない場合は、ブラウザーが閉じた時点でCookieの有効期限が切れます。

lxml:domain

ドメインの名前。Cookieは、このドメインのすべてのサブドメインで使用可能になります。この値を指定しない場合は、Cookieを設定したドメインのページでのみCookieが使用可能になります。

lxml:path

Cookieのパス。この値は、別のディレクトリからのページに設定することも可能です。1つのサブディレクトリで設定したCookieを別のサブディレクトリでも使用できるようにするには、両方のサブディレクトリの親ディレクトリのパスを指定します。'/' を指定すると、Cookieは、そのドメインのすべてのサブディレクトリで使用可能になります。値を指定しない場合は、Cookieが設定されているパスでのみCookieが使用可能になります。

lxml:secure

trueを指定すると、Cookieは、セキュアなSSLドメインのページでのみ使用可能になります。

lxml:httponly

ほとんどの最近のブラウザーでサポートされます。値 "true" はCookie が(JavaScript などの) 非HTTP API 経由ではアクセスできないことを示します。

 

 

エレメントには最初の例にもあるように、field-name属性を使って、Cookie値を格納するフィールドの名前を指定することもできます。

Cookie値をXMLの中に直接指定する例を以下に示します。

<lxml:cookies>
  <lxml:cookie name="LSTACT">
    <lxml:value>Inquiry</lxml:value>
    <lxml:expires>Thu, 31 Dec 2020 10:00:00 GMT</lxml:expires>
    <lxml:domain>acme.com</lxml:domain>
    <lxml:path>/home</lxml:path>
    <lxml:secure>true</lxml:secure>

    <lxml:httponly>true</lxml:httponly>
  </lxml:cookie>         
</lxml:cookies>