Session
プロジェクトにおいて、スケーラブルセッションが有効化されている 場合、Session
コマンドによって Session オブジェクトが返されます。 Webクライアント (ブラウザ ーなど) のセッションを制御するため、4D Webサーバーは自動的に Sessionオブジェクトを作成・管理します。 このオブジェクトは、ユーザーセッションへのインターフェースを Web開発者に対して提供し、アクセス権の管理や、コンテキストデータの保存、プロセス間の情報共有、セッションに関連したプリエンプティブプロセスの開始などを可能にします。
セッションの実装に関する詳細については、Webサーバーセッション の章を参照ください。
概要
.clearPrivileges() 対象セッションに紐づいているアクセス権をすべて削除します |
.expirationDate : Text セッションcookie の有効期限を返します |
.hasPrivilege( privilege : Text ) : Boolean 対象セッションに privilege のアクセス権が紐づいていれば true、でなければ false を返します |
.idleTimeout : Integer 対象セッションが 4D によって終了されるまでの、非アクティブタイムアウト時間 (分単位) を格納します |
.isGuest() : Boolean アクセス権のないゲストセッションの場合は true を返します |
.setPrivileges( privilege : Text ) .setPrivileges( privileges : Collection ) .setPrivileges( settings : Object ) 引数として渡したアクセス権をセッションと紐づけます |
.storage : Object Webクライアントのリクエストに対応するために情報を保存しておける共有オブジェクトを格納します |
.userName : Text セッションと紐づいたユーザー名を格納します |
Session
履歴
リリース | 内容 |
---|---|
18 R6 | 追加 |
Session : 4D.Session
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | 4D.Session | <- | Session オブジェクト |
説明
Session
コマンドは、 カレントのスケーラブルユーザーWebセッションに対応する Session
オブジェクトを返します.
スケーラブルセッションが有効化されている 場合にのみ、このコマンドは機能します。 セッションが無効な場合や、旧式セッションが使用されている場合には、Null を返します。
スケーラブルセッションが有効化されている場合、Session
オブジェクトは次のコンテキストにおける、あらゆる Webプロセスから利用可能です:
On Web Authentication
、On Web Connection
、およびOn REST Authentication
データベースメソッド- RESTリクエストで呼び出された ORDA データモデルクラス関数
- セミダイナミックページにおいて、4Dタグ (4DTEXT, 4DHTML, 4DEVAL, 4DSCRIPT/, 4DCODE) を介して処理されるコード
- "公開オプション: 4DタグとURL(4DACTION...)" を有効化されたうえで、4DACTION/ URL から呼び出されたプロジェクトメソッド
例題
"公開オプション: 4DタグとURL(4DACTION...)" を有効にした action_Session
メソッドを定義しました。 ブラウザーに次の URL を入力してメソッドを呼び出します:
IP:port/4DACTION/action_Session
//action_Session メソッド
Case of
:(Session#Null)
If(Session.hasPrivilege("WebAdmin")) // hasPrivilege 関数を呼び出します
WEB SEND TEXT("4DACTION --> セッションは WebAdmin です")
Else
WEB SEND TEXT("4DACTION --> セッションは WebAdmin ではありません")
End if
Else
WEB SEND TEXT("4DACTION --> セッションは null です")
End case
.clearPrivileges()
履歴
リリース | 内容 |
---|---|
18 R6 | 追加 |
.clearPrivileges()
| 引数 | 型 | | 説明 | | -- | - |::| ---------- | | | | | 引数を必要としません |
説明
.clearPrivileges()
関数は、 対象セッションに紐づいているアクセス権をすべて削除します. 結果的に、当該セッションは自動的にゲストセッションになります。
例題
// セッションを無効にします
var $isGuest : Boolean
Session.clearPrivileges()
$isGuest:=Session.isGuest() //$isGuest は true
.expirationDate
履歴
リリース | 内容 |
---|---|
18 R6 | 追加 |
.expirationDate : Text
説明
.expirationDate
プロパティは、 セッションcookie の有効期限を返します. 値は ISO 8601標準に従って文字列で表現されます: YYYY-MM-DDTHH:MM:SS.mmmZ
。
このプロパティは 読み取り専用 です。 .idleTimeout
プロパティ値が変更された場合、有効期限は自動的に再計算されます。
例題
var $expiration : Text
$expiration:=Session.expirationDate // 例: "2021-11-05T17:10:42Z"
.hasPrivilege()
履歴
リリース | 内容 |
---|---|
18 R6 | 追加 |
.hasPrivilege( privilege : Text ) : Boolean
引数 | 型 | 説明 | |
---|---|---|---|
privilege | Text | <- | 確認するアクセス権の名称 |
戻り値 | Boolean | <- | セッションが privilege のアクセス権を持っていれば true、それ以外は false |