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>