●よくある質問 (番号=14)
グラフィックからユーザーの情報を保存/取得したい
PDSでは、ログイン時からログアウト時までセッションという単位でデータを保持しています。
このセッションの情報に対し、任意の文字列をキーとして、任意の文字列を設定、取得できます。

グラフィック及びパーツ内のスクリプトからは、以下の2つの関数を利用します。

●セッションのキャッシュ値を取得する

getSession(key);
getSession(key,reloadFlg);

reloadFlg の指定なし、もしくはfalseの場合、キャッシュの値を取得します。
reloadFlg がtrueの場合、毎回サーバーから最新の値を取得します。

例:
var word = getSession("keyWord",true);
if(isNullOrSpace(word)){
alert("値が設定されていません。");
}else{
alert(word);
}

注意:
reloadFlg がtrueの場合、サーバー間の通信が発生しますので、タイマーによる定周期処理では関数を使用しないでください。


●セッションに値を設定する

setSession(key,value);

例:
var word=prompt("任意の文字列を入力してください。");
setSession("keyWord",word);
//reloadFlgをtrueにして値を 一度取得し、キャッシュを更新する。
var inWord=getSession("keyWord",true);

注意:
セッションデータはメモリ上に保持されます。大量のデータをセッションに保持しないようにしてください。

●ユーザー情報を取得する

getSession(key) 及び getSession(key,reloadFlg)には、あらかじめ以下のセッション情報が取得できます。

■getSession("IsDebug")
デバッグモードか取得します。(True/False)
返値の例:"False"

■getSession("LoginDate")
ログインした日時を取得します。
返値の例:"2016/06/21 14:24:51"

■getSession("UserId")
ログイン時に入力したユーザーIDを取得します。
返値の例:"pfa"

■getSession("UserName")
ユーザー名を取得します。
返値の例:"PFA管理責任者"

■getSession("UserType")
ユーザー権限名を取得します。
返値の例:"PFA_ADMIN"

■getSession("LoginIP")
サーバーから見える、ユーザーのIPアドレスを取得します。
返値の例:"192.168.3.210"

■getSession("CanChange")
ユーザーが、計器に対し出力を許されているか取得します。(True/False)
返値の例:"True"

■getSession("CanConfig")
ユーザーが、各種設定に対する変更を許されているか取得します。(True/False)
返値の例:"True"

■getSession("CanEverything")
ユーザーが、管理者権限を持つかを取得します。(True/False)
返値の例:"True"

■getSession("UserAgent")
サーバーから見える、ユーザーのブラウザ情報を取得します。
返値の例:"NORMAL:Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"

注意:
これらの値はログイン時のユーザーデータのコピーです。
setSession(key,value)にて変更でき、変更した内容で取得できますが、システム上のユーザーデータ情報までは変更されません。
この質問を共有する製品
製品 バージョン
Plant Data Site
その他の質問
 タグエクセル更新でアップロードしても反映されない   タグエクセル更新で白いエラー画面が表示される   ログイン画面のタイトルを変更したい   ログイン画面の連絡事項の内容を編集したい   ログイン画面の連絡事項を非表示にしたい