| RSView32 Active Display SystemのActiveXコントロール:ボタンへのRSView32セキュリティの追加、現在のユーザの表示 |
このテクニカルノートの情報は、以下に該当します:
| 製品: | RSView32 Active Display | タイプ: | アプリケーションノート |
| テクニカルノートID: | A1415JA | ||
| パッケージ/モジュール: | Display Client Server | 英文版作成日: | 2001/07/05 |
| リビジョン: | 6.20.63 6.30.16 | ||
| 修正リビジョン: | |||
| サブシステム: | ActiveX |
| テクニカルノート本文: |
リビジョンノート:
2001年7月5日:このドキュメントは、Security Username Labelを使用してコマンドを送信する方法についての構成情報について変更されています。この情報は、同じコンピュータ上に複数のActive Displayクライアントが実行されているアプリケーションに対して提供されます。詳細は、後述の「RSView32 Username Labelコントロール」のセクションを参照してください。
2001年4月2日:Security Controls Buttonは、アップデートされています。最新バージョンは、1.3.01であり、以下の変更点を含みます。
- リピートコマンド機能が追加されています。ボタンがクリックされて、押下された状態になると、構成された繰返し間隔で繰返し構成済みコマンドが送信されます。この間隔は、0.100~10secです。
- フォーカスを取得したグラフィックディスプレイによってボタンが押下された状態で表示される場合の、フォーカスの問題は解決されました。Securityボタン付きのグラフィックディスプレイがフォーカスを失い、グラフィックが表示されたままであり、Displayコマンドまたはウィンドウ内のクリックによってそのグラフィックが再びフォーカスを取得した場合、この問題が発生します。フォーカスを再び取得すると、Securityボタンは押下された状態で表示され、ボタンのClickイベントが発生します。いくつかの場合、ユーザがボタン領域の外側のグラフィック領域をクリックすると、このアクションによってグラフィックディスプレイにフォーカスが与えられて、ボタンがアクティブになります。
2001年2月7日:Security Controls ActiveXは、アップデートされています。最新バージョンは、1.2.03であり、以下の変更点を含みます。
Security Buttonのテキストの色を設定して、前景色プロパティによって表示できます。この変更により、以下の影響があります。
- 押下されたボタンの視覚的なフィードバックが、ボタンの背景色のクロスシャフトとして表示されます。
- DefaultおよびCancelプロパティは表示されず、互換性のために提供されていますが、使用できません。通常は、RSView32グラフィックでこれらのプロパティが機能しなくても、問題は発生しません。
- SecurityボタンのBorderStyleプロパティは表示されず、互換性のために提供されています。すべてのRSView32 SecurityボタンのBorderStyleは"0-None"にセットされるため、既存のRSView32グラフィックディスプレイに表示されるボタンの外観に影響を及ぼすことがあります。
BorderStyleプロパティに関する問題については、以下のサポート・ライブラリ・ドキュメントを参照してください。
P1882JA - プロジェクトの実行中にグラフィックがロックするか、または"A Resource Was"というメッセージが表示される - キャプチャカーソル機能は、マウスの左ボタンでのみ動作するようになりました。このコントロールの以前のバージョンでは、マウスの左ボタンを押している間にもう一方のマウスボタンをクリックすると、マウスのキャプチャ領域がボタンサイズに誤ってリセットされます。
- Windows 2000 Terminal Serverクライアントセッションで実行されているActive Displayクライアントのグラフィックディスプレイでコントロールがホストされている場合に、{ComputerName}プレイスホルダを正しく変換するために、Security ButtonおよびSecurity LabelのExecuteCommandメソッドの機能が追加されました。詳細は、このドキュメント内のWindows 2000 Terminal Serverクライアントセッションのサポートを参照してください。
2000年8月21日:SecurityControlsは、1.1.09にアップデートされており、以下の修正および機能拡張を含みます。
- Client Security Serverオブジェクト参照のアンロードを修正しました。
- 複数コマンドの送信時にコマンドを区切るために、コマンドにセミコロンが挿入されます。
- セキュリティレベルのチェック後に、セキュリティボタンの境界線スタイルの設定時にメモリリソースが失われていましたが、修正後は、セキュリティ検証が変更された場合にのみ、境界線のスタイルが設定されます。
- 色および再描画のプロパティを正しく保存するように、Security Username Labelを修正しました。
- Security ButtonにButtonPressおよびButtonReleaseメソッドが追加されました。
背景
RSView32には、コマンドを発行して、RSView32のタグを設定するための固有のボタンオブジェクトが含まれます。しかし、固有のボタンは、RSView32セキュリティを使用しません。また、RSView32セキュリティサブシステムは"system\User"というシステムタグを設定して、RSView32 Active Displayサーバ上にログインしているユーザを示しますが、その情報をActive Displayクライアントに表示する方法がありません。
SecurityControls.OCXというファイルで使用可能な2つのActiveXコントロールは、これらの問題の解決に役立ちます。RSView32 Security ButtonコントロールはRSView32セキュリティを実行し、RSView32 UserName Labelコントロールは現在ログインしているユーザ名を表示します。これらのコントロールは、RSView32 Active Displayサーバ上およびActive Displayクライアント上で同じように動作します。
RSView32 Security Buttonコントロール
RSView32 Security Buttonコントロールは、Forms 2.0ボタンと類似しています。このコントロールには、以下の特長があります。
- コマンドをRSView32に発行する前に、"{ComputerName}"をコンピュータ名に置換えて、"{RSViewUserName}"をログインユーザ名に置換えるように、個々のボタンコントロールを構成できます。
- A~Pまたは*を組合せて、複数のセキュリティコードを指定できます。
- タグと関連付けて、セキュリティレベルと共に使用できる許可プロパティを含みます。
- セキュリティまたは許可条件が適合しない場合にボタンを無効または非表示にする機能があります。
- ボタン上にグラフィックを配置できます。
- 現在のユーザのチェックをトリガして、構成可能な更新時間に基づいて、またはSecurityTriggerプロパティに関連付けられたタグに基づいて、セキュリティを更新します。
- Active Displayサーバ上およびActive Displayクライアント上の両方で動作します。
- "ButtonPress"および"ButtonRelease"というボタンメソッドにより、ディスプレイキーおよびグローバルキーが構成済みのボタンコマンドを呼出すことができます。これらのメソッドは、セキュリティボタンが表示されて有効な場合にのみ使用できます。
RSView32 UserName Labelコントロール
RSView32 UserName Labelコントロールは、現在ログインしているユーザの名前を示します。このコントロールには、以下の特長があります。
- フォントおよび色を構成できます。
- ユーザの変更時にイベントをトリガできます。このイベントを使用して、現在のユーザおよびそのユーザのセキュリティコードを表示する文字列タグを設定します。
- 現在のユーザのチェックをトリガして、構成可能な更新時間に基づいて、またはSecurityTriggerプロパティに関連付けられたタグに基づいて、セキュリティを更新します。
- Active Displayサーバ上およびActive Displayクライアント上の両方で動作します。
- Client Security Serverにセキュリティ情報を提供するように構成できます(以下を参照)。
- RSView32またはActive Displayクライアントに対して、"{ComputerName}"をコンピュータ名に置換えて、"{RSViewUserName}"をログインユーザ名に置換えるコマンドを発行する方法を提供します。
変換のコマンドを送信するには、以下の例に示すように、RSView32コマンドを入力できる任意の場所(ボタン、ActiveXイベントなど)でRSView32のInvokeコマンドを呼び出します。
Invoke
me.RSViewUsernameLabel1.ExecuteCommand(党RemarkUser: {RSViewUsername} is on station: {Computername}媒)
SS1Bというコンピュータ上のGuestというユーザの場合、このコマンドにより、サーバのアクティビティログのリマークは、媒User: Guest is on station: SS1B媒というテキストに置換えられます。
RadStationExecアプリケーションも{Computername}の変換を行ないますが(R184JAの「ターミナルサーバ」のセクションを参照)、ExecuteCommand()メソッドはRadStationExecアプリケーションとは異なり、その中で実行しているActive Displayクライアントセッションに対してコマンドを送信します。複数のActive Displayクライアントセッションを実行して{Computername}の変換を必要とするActive Display Systemクライアントについては、RadStationExecアプリケーションの代わりにこのメソッドを呼び出すようにRSView32プロジェクトを構成しなければなりません。Invokeコマンドについては、コマンドに関するRSView32ヘルプを参照してください。
セキュリティ更新をトリガする方法
更新されたセキュリティ情報の有無をチェックするように2つのSecurityコントロールを構成するには、いくつかの方法があります。
- 内部タイマにより、コントロール自体をトリガする。
- 関連のあるタグにより、SecurityTriggerプロパティをトリガする。
- RSView32 Invokeコマンドにより、UpdateSecurityメソッドを呼出す。
デフォルトでは、コントロールは15secごとに現在のセキュリティ設定をチェックしますが、アプリケーションによってはこれでは十分ではないことがあります。しかし、1つのプロジェクトが多数のコントロールを使用して、タイマをより小さな値に設定すると、パフォーマンスが低下することがあります。ユーザ名が頻繁に変更されない場合、ユーザ名の変更を頻繁にチェックすることはリソースの浪費になります。
セキュリティ情報を最も効率的に更新する方法は、ユーザのログイン時に更新をトリガすることです。これを行なうには、各コントロールのSecurityTriggerプロパティを構成して、これをRSView32ディジタルタグに関連付けます。ユーザがログインすると、構成済みのログインマクロにより、タグ値が0になり、さらに1になります。これにより、コントロールがトリガされて、セキュリティ情報が更新されます。ユーザがどのステーションにログインしても、更新トリガタグはセットされますが、パフォーマンスへの影響は最小であり、通常は小さな値をもつ内部タイマを使用するよりも優れています。
セキュリティを確実に更新するために、内部タイマをバックアップとして使用することもできます。値を30secに設定すると、十分に機能します。
ユーザのログイン時にセキュリティ更新をトリガする方法
| 1. | ディジタル・メモリ・タグを作成して、SecurityChangedという名前を付けます。 | |
| 2. | SecurityChangedタグの値を0にセットして、さらに1にセットするSECTRIGマクロを作成します。 | |
| 3. | "Default"ユーザを含む各RSView32ユーザについて、ログインマクロがSECTRIGを呼出すように設定します。 | |
| 4. | SecurityコントロールのActiveX Property Panel ‐ Animationタブをオープンします。 | |
| 5. | グラフィックディスプレイ上の各Securityコントロールについて、SecurityChangedタグをSecurityTriggerプロパティに関連付けます。 | |
| 6. | グラフィックディスプレイを保存します。 |
制限事項
- Security Buttonコントロールの場合、コントロールのプロパティページで構成されたコマンドは、ディスプレイパラメータ(#1, #2など)を変換しません。
- Security Buttonコントロールの場合、MouseDownおよびMouseUpイベント用にActiveX Animation Eventsダイアログで構成されたコマンドは、ディスプレイパラメータ(#1, #2など)を変換しますが、{Computername}および{RSViewUserName}の文字列を変換しません。
- Overlayとして構成されたグラフィックディスプレイ上のSecurity Buttonに対してキャプチャカーソルが設定された場合、およびボタンによってOn Topとして構成された他のディスプレイが起動する場合は、SecurityボタンのRelease Actionフィールドで必ずDisplayコマンドを使用してください。
- ポップアップディスプレイが最初のディスプレイをカバーする場合、およびコマンドがPress Actionフィールドにある場合、キャプチャされた領域は開放されず、Security Buttonが最初のディスプレイに存在する領域にカーソルが置かれたままになります。Windows NTでこのような状況が生じた場合は、Ctrl+Alt+Delを押してから、Cancelを押すと、カーソル領域が開放されます。Security ButtonのRelease Actionフィールドで、コマンドを再び構成します。
- Internet ExplorerブラウザでActive Displayクライアントをホストしている場合は、コマンドがコントロールのプロパティページで構成されていると、Security Buttonからコマンドを送信しても、動作しません。Internet Explorerに表示されたSecurity Buttonからコマンドを送信するには、MouseDownおよびMouseUpイベント用のコントロールのAnimation Eventsダイアログボックスでコマンドを構成します(注:MouseDownおよびMouseUpイベントから発行されたイベントは、"{ComputerName}"および"{RSViewUserName}"の文字列を変換しません。)
- セキュリティボタンにReleaseCommandが構成されていて、ButtonPressメソッドが呼出された場合は、ButtonReleaseメソッドが呼出されるまで、ボタンは押下されたままになります。ボタンにReleaseCommandが構成されていない場合は、ButtonPressメソッドが呼出されると、ボタンは通常の状態に戻ります。
Active Displayクライアント上でセキュリティ情報にアクセスする
Active Displayクライアント上で実行されるアプリケーションの場合、クライアントはセキュリティ情報を取得するためのオブジェクトインターフェイスを提供しません。しかし、RSView32 UserName Labelコントロールは、クライアントのセキュリティ情報"Client Security Server"というアプリケーションに提供できます。
Client Security Serverは、RSView32 Security Controlsのインストールに含まれますが、構成は不要です。Client Security Serverの使用方法は、以下のサポート・ライブラリ・ドキュメントを参照してください。
A1573JA - RSView32 Active Displayクライアント上で外部アプリケーションがユーザのセキュリティ情報にアクセスする方法
Windows 2000 Terminal Serverクライアントセッションのサポート
Security Controls v1.2.03は、Windows 2000 Terminal Serverクライアントセッションをサポートしています。Windows 2000 Terminal Serverクライアントセッションで実行されているActive DisplayクライアントグラフィックでSecurityコントロールが使用されていて、"RSEServer"というコンポーネントがTerminal Serverシステムにインストールされている場合、Securityコントロールはこのコンポーネントの使用を試みます。このコンポーネントはRadStationExecアプリケーションによって提供されており、ComputerNameプレイスホルダを変換してActive Displayクライアントにコマンドを発行することを目的としています。RSEServerは、Windows 2000 Terminal Serverクライアントセッションをサポートしており、構成を簡略化するために使用されます。RadStationExecおよびRSEServerコンポーネントがコンピュータにインストールされていない場合、SecurityボタンはTerminal Serverのコンピュータ名を使用するというデフォルトの設定になり、すべてのクライアントセッションが同じ名前になります。
RSEServerコンポーネントをインストールおよび使用するには、RadStationExecおよびRSEServerアプリケーションをTerminal Serverコンピュータにインストールする必要があります。RadStationExecおよびRSEServerのインストール方法、およびこれらをWindow 2000 Terminal Serverアプリケーション用に構成する方法は、以下のサポート・ライブラリ・ドキュメントを参照してください。
R184JA - RADステーション(クライアント)のコンピュータ名を決定するためのユーティリティ
A1775JA - Windows 2000 Terminal Serverクライアントセッションで実行されるRADクライアントのコンピュータ名を決定するユーティリティ
Security Controlsのインストール
以下のリンクをクリックして、ダウンロードを開始します。
| 1. | SecurityControlsOCX.Exeファイルのローカルコピーをダウンロードした後で、すべてのプログラムをクローズして、自動抽出ファイルを実行して、ファイルの内容を一時的な場所に格納します。 | |
| 2. | コントロールパネルのアプリケーションの追加と削除で、既存のRSView32 Security Controlsをアンインストールします。 | |
| 3. | Active Displayサーバ上でSetup.exeを実行し、SecurityControlsファイルをインストールします。 | |
| 4. | SecurityControlsOCX.CABファイルを一時的な場所からActive Displayサーバにコピーして、Active Displayクライアントに自動的にダウンロードできるようにします。RSView32がデフォルト位置にインストールされている場合は、ファイルを\Program Files\Rockwell Software\ActiveXControlSetupディレクトリにコピーします。 |
弊社では、このユーティリティにテストを実施して、正しく機能することを確認していますが、ユーザのプロジェクトで使用する前に、製造環境以外の場所で十分にテストする必要があります。ユーティリティの機能がユーザの要件に適合しないことがあります。また、ユーティリティの欠陥が検出されて、プロジェクトで正しく機能されないことがあります。ユーティリティの欠陥を検出した場合は、ロックウェル・ソフトウェアの技術サポートまでお知らせください。弊社にて修正を行ないます。
http://www.software.rockwell.com/download/mmi/rsview32/misc/SecurityControlsOCX.EXE(ファイルサイズ:1.52MB)
Active DisplayクライアントへのSecurity Controlsのインストール
オープンしているコントロールがグラフィックディスプレイにある場合は、上述のステップ2で.CABファイルをActiveXControlSetupフォルダにコピーすることにより、Active DisplayクライアントはSecurity Controlsを自動的にダウンロードおよびインストールできます。クライアント上で、Internet Explorerの"Local Intranet"のセキュリティ設定がLowに設定され、訪れるたびにWebページをチェックするようにディスプレイキャッシュが設定されていることを確認してください
重要:自動ダウンロードインストールの実行が進み、コンピュータを再起動するかどうかを尋ねられます。OKをクリックしてはいけません。まず最初にActive Displayクライアントをシャットダウンしてから、OKをクリックしてください。このようにしない場合は、コンピュータを手動でリセットしなければならないことがあります。
自動ダウンロードインストールが失敗した場合は、Active DisplayクライアントにSecurity Controlファイルを手動でインストールできます。上述の指示に従ってください。
法的な注意事項: |
ロックウェル・ソフトウェア(RSI) のKnowledgebaseに記載された情報は、いかなる保証もなく「そのままで」提供されます。RSI は、明示または暗示されたいかなる保証も負いません。また、RSI がそのような損害の可能性を忠告していた場合でも、直接、間接、偶発的、必然的な利益の損失または損害を含むいかなる損害についても、RSI は責任を負いません。
©2000 Rockwell Software Inc. All rights reserved.
