Secure Global Desktop 4.40 管理者ガイド
> ユーザーと認証
> ログインスクリプトの Tcl コマンドおよびプロシージャー
SGD に付属しているログインスクリプトは、いくつかの Tcl コマンドおよびプロシージャーを使用してアプリケーションサーバーとの通信を行います。
Tcl コマンドは、実行プロトコルエンジン (ExecPE) で定義されるコマンドであり、アプリケーションサーバーへの接続や、SGD の認証および進行状況ダイアログの表示を制御するためにユーザー独自のログインスクリプトで使用できます。
TCL プロシージャーは、ログインスクリプトのみで定義され、認証ダイアログをより細かく制御するために使用できます。
次の Tcl コマンドおよびプロシージャーは、SGD 認証ダイアログの表示を制御します。
次の Tcl コマンドは、アプリケーションが起動されたときの SGD 進行状況ダイアログの表示を制御します。
次の Tcl コマンドは、アプリケーションサーバーへの接続を制御します。
authrequest [ -normal | -changed ] -showuser 0|1 -title title -message message -customuserlabel 0|1 -userlabel label -custompasswdlabel 0|1 -passwdlabel label -showpasscache 0|1 -showsmartcard 0|1 -isuserdialog 0|1|2
これは、ユーザー名またはパスワードに関する問題を示すダイアログボックスを表示するための Tcl コマンドです。
一般に、authrequest
コマンドをログインスクリプトから直接呼び出すことはありません。代わりに、定義済みの Tcl プロシージャーを使用して、このコマンドを必要な引数とともに呼び出します。
このコマンドには次の引数があります。
引数 | 説明 |
---|---|
-normal |
パスワードが正しくないことを指定します。 |
-changed |
パスワードの有効期限が切れていることを指定します。 |
-showuser |
ユーザー名フィールドを表示することを指定します。 |
-showpasswd |
パスワードが正しくないことを指定します。 |
-title |
認証ダイアログに使用されるタイトルを指定します。 |
-message |
認証ダイアログに表示されるメッセージを指定します。 |
-customuserlabel |
ユーザー名フィールドにカスタマイズされたラベルを使用するかどうかを指定します。 |
-userlabel |
ユーザー名フィールドに使用するカスタマイズされたラベルを指定します。 |
-custompasswdlabel |
パスワードフィールドにカスタマイズされたラベルを使用するかどうかを指定します。 |
-passwdlabel |
パスワードフィールドに使用するカスタマイズされたラベルを指定します。 |
-showpasscache |
「このパスワードを保存する」チェックボックスを表示するかどうかを指定します。 |
-showsmartcard |
スマートカードオプションを表示するかどうかを指定します。 |
-isuserdialog 0|1|2 |
カスタマイズされた認証ダイアログを使用するかどうかを指定します。
次のいずれかを指定します。
|
次の例では、パスワードが正しくないことを示すダイアログボックスを表示します。
authrequest -normal
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。
これは、次のオプションを使用して authrequest
コマンドを呼び出すための Tcl プロシージャーです。
authenticate [ -normal | -changed ]
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。ダイアログにユーザー独自のタイトルを使用したり、ユーザー独自のメッセージを表示したりできます。また、ユーザー名およびパスワードフィールドを表示するかどうかを制御することもできます。
これは、次の引数を使用して authrequest
コマンドを呼び出すための Tcl プロシージャーです。
authenticate2 [ -normal | -changed ] -showuser 0|1 -showpasswd 0|1 -title title -message message
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。認証ダイアログを完全にカスタマイズできます。
このプロシージャーでは、ExecPE はユーザーがユーザー名フィールドに入力したテキストを確認しません。アプリケーションの接続方法として SSH が使用されており、ユーザーがユーザー名を変更した場合、ExecPE は接続を中断しないで、新しいユーザー名として再接続します。これにより、アプリケーションの起動が失敗する場合があります。SSH を使用しており、ユーザーがユーザー名を変更できるようにする場合は、代わりに userauthenticate
プロシージャーを使用してください。
これは、次の引数を使用して authrequest
コマンドを呼び出すための Tcl プロシージャーです。
customauthenticate [ -normal | -changed ] -showuser 0|1 -title title -message message -customuserlabel 0|1 -userlabel label -custompasswdlabel 0|1 -passwdlabel label -showpasscache 0|1 -showsmartcard 0|1
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。このプロシージャーを使用すると、認証ダイアログを完全にカスタマイズできます。
このプロシージャーは、ユーザーによってユーザー名が変更されたかどうかを確認する点を除き、customauthenticate
と同じです。ユーザー名が変更されている場合、ExecPE はアプリケーションサーバーへの接続を中断し、変更されたユーザーとして再接続します。
これは、次の引数を使用して authrequest
コマンドを呼び出すための Tcl プロシージャーです。
userauthenticate [ -normal | -changed ] -showuser 0|1 -showpasswd 0|1 -title title -message message -customuserlabel 0|1 -userlabel label -custompasswdlabel 0|1 -passwdlabel label -showpasscache 0|1 -showsmartcard 0|1
loaderror error
ログインスクリプトから返されたエラーメッセージを上書きできます。この関数を使用すると、たとえば、ログインスクリプトの標準のエラーメッセージをユーザー独自のメッセージに置き換えることができます。アプリケーションの起動に失敗した場合、エラーは進行状況ダイアログとログファイルに表示されます。
clienttimer [ time ] [ message ] [ timers ]
指定された time の間、message を、進行状況ダイアログボックスに表示します。進行状況バーには、合計 timers 個のセクションがあります。例を次に示します。
clienttimer 10 "Launching the application" 4
canceltimer
clienttimer
コマンドをキャンセルします。このコマンドには引数がありません。
progress [ message ]
message を進行状況ダイアログボックスに表示します。例を次に示します。
progress "Initializing..."
setbuffer [ -buffer num ] [ -output 0|1 ]
アプリケーションサーバーから読み込むバイト数を定義します。
引数 | 説明 |
---|---|
-buffer num |
バイト数を指定します。デフォルト値は 1 です。 |
-output 0|1 |
出力をオン (1) またはオフ (0) にします。デフォルト値は 1 です。 |
例を次に示します。
setbuffer -buffer 1000
locallaunch [ -start ] [ -abort ] [ -user launchspec -root launchspec ]
アプリケーションサーバーが SGD サーバーも兼ねている場合、起動を最適化します。
引数 | 説明 |
---|---|
-start |
最適化起動で起動します。 |
-abort |
最適化起動を中断し、標準の接続方法に戻ります。 |
-user launchspec |
ユーザーが UNIX または Linux の root ユーザーでない場合に、SGD サーバー上でアプリケーションを起動するのに使う接続方法を定義します。起動がデタッチされているアプリケーション (バックグラウンドアプリケーション) と起動がデタッチされていないアプリケーション (フォアグラウンドアプリケーション) に、別の動作を指定できます。
launchspec には、次のいずれかを指定できます。
デフォルト値は |
-root launchspec |
ユーザーが UNIX または Linux の root ユーザーである場合に、SGD サーバー上でアプリケーションを起動するのに使う接続方法を定義します。起動がデタッチされているアプリケーション (バックグラウンドアプリケーション) と起動がデタッチされていないアプリケーション (フォアグラウンドアプリケーション) に、別の動作を指定できます。
launchspec には、次のいずれかを指定できます。
デフォルト値は |
例を次に示します。
locallaunch -abort
tarantella [ -nosocket ] [ -portnumber num ] [ -thirdtiershell shell ]
このコマンドは、アプリケーションへの接続を設定するために使用されます。sgdconnect
コマンドを使用する前に、接続を設定する必要があります。
引数 | 説明 |
---|---|
-nosocket |
アプリケーションの起動に他の方法を使用することを指定します。起動方法の実装は、スクリプト作成者が行う必要があります。たとえば、Expect の spawn コマンドを使用します。これを行なえるのは、X アプリケーションなど、永続的な接続を必要としないアプリケーションの場合だけです。このコマンドが役立つのは、特殊なアプリケーションサーバーを扱う場合や、既存の起動メカニズムと統合化する必要がある場合です。 |
-portnumber num |
アプリケーションサーバーへの接続に使用されるポートを上書きします。このオプションを使用する場合は、sgdconnect コマンドの前に tarantella コマンドを実行する必要があります。そうしないと、ポート番号が無視されます。 |
-thirdtiershell shell |
アプリケーションサーバーで使用するシェルを指定します (たとえば、/bin/sh )。 |
次の例は、TCP ポート 5999 上でアプリケーションサーバーに接続します。
tarantella -portnumber 5999
sgdconnect
実行プロトコルエンジン (ExecPE) に、アプリケーションサーバーに接続するよう指示します。このコマンドには引数がありません。
ほとんどの SGD ログインスクリプトは、sgdconnect
を使用して接続を確立します。アプリケーションサーバーへの接続を自分で処理する場合は、スクリプトでこのコマンドが使用されないようにする必要があります。
wcpwts.exp
標準ログインスクリプトは、アプリケーションサーバーへの接続にこのコマンドを使用しないログインスクリプトの例です。
Copyright © 1997-2007 Sun Microsystems, Inc. All rights reserved.