メインコンテンツまでスキップ
バージョン: 開発中

Session

Session : 4D.Session

引数説明
戻り値4D.SessionSession オブジェクト
履歴
リリース内容
20 R8スタンドアロンセッションのサポート
20 R5リモートクライアントとストアドプロシージャーセッションをサポート
18 R6追加

説明

Session コマンドは、カレントのユーザーセッションに対応する Session オブジェクトを返します。

コマンドを呼び出したプロセスによって、カレントユーザーセッションは次のいずれかです:

詳細については、Session types の段落を参照ください。

サポートされていないコンテキスト (スケーラブルセッションが無効など)から呼び出されると、コマンドは Null を返します。

Webセッション

Webセッションの Session オブジェクトは、どの Webプロセスからも利用できます:

  • On Web AuthenticationOn Web Connection、および On REST Authentication データベースメソッド
  • セミダイナミックページにおいて、4Dタグ (4DTEXT, 4DHTML, 4DEVAL, 4DSCRIPT/, 4DCODE) を介して処理されるコード
  • "公開オプション: 4DタグとURL(4DACTION...)" を有効化されたうえで、4DACTION/ URL から呼び出されたプロジェクトメソッド
  • モバイルリクエスト用の On Mobile App AuthenticationOn Mobile App Action データベースメソッド
  • RESTリクエストで呼び出された ORDA関数。

Web ユーザーセッションに関する詳細な情報については、Web Server Sessions の章を参照してください。

リモートクライアントセッション

リモートクライアントの Session オブジェクトは、次のいずれかから利用できます:

  • サーバー上で実行 属性を持つプロジェクトメソッド (クライアントプロセスの "双子" プロセスで実行されます)
  • トリガー
  • On Server Open Connection および On Server Shutdown Connection データベースメソッド

リモートユーザーセッションの詳細については、リモートクライアントユーザーセッション の段落を参照ください。

ストアドプロシージャーセッション

すべてのストアドプロシージャープロセスは、同じ仮想ユーザーセッションを共有します。 ストアドプロシージャーの Session オブジェクトは、次のいずれかから利用できます:

  • Execute on server コマンドで呼び出されたメソッド
  • On Server StartupOn Server ShutdownOn Backup StartupOn Backup Shutdown、および On System event データベースメソッド

ストアドプロシージャーの仮想ユーザーセッションに関する情報については、4D Serverと4Dランゲージ のページを参照ください。

スタンドアロンセッション

Session オブジェクトは、スタンドアロン(シングルユーザー)アプリケーション内の任意のプロセスから利用可能なため、4D 開発環境においてSession オブジェクトを使用することで、クライアント/サーバー用のコードを書いてテストすることができます。

例題

"公開オプション: 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

参照

Session storage
Session API
Web server user sessions