オブジェクト・セキュリティの妥当性の追加
WindowsアプリケーションではIIPメソッドavCheckAuthを修正してオブジェクト・セキュリティーのレイヤーをフレームワーク・セキュリティの上に追加することができます。これでフレームワークのセキュリティを使用しているサイトの標準に最適化することができます。また、特定のユーザーに対するフィルターやコマンド・ハンドラーの作用を変えることもできます。
IIPルーチンはオブジェクトの識別子(これはユーザー・オブジェクト名/タイプのパラメータで、オブジェクトの識別子タブ・シートから確認できます)、およびユーザー・プロファイルを受け取ります。
検証するオブジェクトがコマンド・リファレンス(特定のフレームワーク、アプリケーション、ビジネス・オブジェクトに対するコマンド)の場合は例外で、IIPはユーザー・プロファイル、フレームワーク/アプリケーション/ビジネス・オブジェクトの識別子、コマンドの識別子を受け取ります(識別子はユーザー・オブジェクト名/タイプのパラメータです)。
詳細は、UF_SYSTM、メソッドavCheckAuthを参照してください。
IIPルーチンは権限データを保存するファイルからこのユーザーとオブジェクトのセキュリティ・レコードをFETCHするようなものに変換できます。
IIPルーチンは結果をOKまたはERとして返します。フレームワーク・オブジェクトをデザイン・モード以外で実行しているとき、フレームワークは各オブジェクトについてIIPルーチンを評価し、それを自動的に適宜表示/非表示します。
IIPルーチンのセキュリティはフレームワーク・セキュリティで追加可能です。フレームワーク・セキュリティの設定でユーザーがオブジェクトに対して権限がない場合、またはIIPルーチンでユーザーにそのビジネス・オブジェクトの権限がない場合、オブジェクトはそのユーザーに表示されません。
フィルターやコマンド・ハンドラーのコードから任意にavCheckAuthにアクセスして、返された「追加情報パラメータ」にしたがって、そのフィルターやコマンド・ハンドラーの作用を変更することはできます。
avCheckAuthをフィルターから呼び出した場合、ビジネス・オブジェクトが検証されます。最初に表示されるビジネス・オブジェクトに対して、IIPルーチンはOKを返す必要がありますが、追加情報パラメータを付加することもできます。フィルターはこれを利用して、特定のユーザーに対して、フィルター・オプションを制限するかどうか決定することができます。
avCheckAuthをコマンド・ハンドラーから呼び出した場合、コマンド・リファレンス(フレームワーク/アプリケーション/ビジネス・オブジェクト-コマンドの組み合わせ)が検証されます。フレームワーク/アプリケーション/ビジネス・オブジェクトで有効なコマンドに対してIIPルーチンはOKを返す必要がありますが、追加情報パラメータを付加することもできます。コマンド・ハンドラーはこのパラメータを使用して、何名かのユーザーにはすべてのフィールドを編集できる許可を与え、他のユーザーには編集できるフィールド数を減らす、あるいは閲覧のみにすることができます。
avCheckAuthルーチンを書く際に注意しなければならないのは、ユーザーがサーバーに接続していると、そのユーザーのフレームワークやサーバーに対する権限が評価されている間はユーザーはサーバーに接続できないことです。しかし、権限が評価された時点でそのユーザーはアプリケーション、ビジネス・オブジェクト、コマンドに接続できます。