前へ123456789次へ複数の暗黙条件指定と権限管理を組み合わせた例を紹介します。サンプルの仕様あるモデルの複数項目の「組み合わせ」によって、アクセスレベルを算定できるものとします。このとき、当該アクセスレベルをもった利用者のみ、データの閲覧を行わせたいという要件を実現してみます。ある工場からの出荷製品について、次のような条件で判定処理を行うものとします。対して、次のようなアクセスレベル表を用意するものとします。始めにシステム管理者(admin)でログオンし、テストユーザを登録します。ここではレベル1からレベル4のプリンシパルをもったアカウントをそれぞれ作成しました。テストアカウント一覧level1アカウントのプリンシパルには「一般ユーザ」と「レベル1」を付与します。アカウントには「レベル4」をそれぞれ付与します。続いて製品(テストモデル)を作成します。各項目を入力すると、アクセスレベルの値は自動計算されます。テストモデルの登録アクセスレベル毎のテストモデルを用意します。用意したテストモデル一覧アクセスレベル1をもったアカウントでログオンします。アクセスレベル1のデータのみが閲覧できます。アクセスレベル1のデータのみが閲覧できるアクセスレベル2をもったアカウントでログオンします。アクセスレベル1およびレベル2データが閲覧できます。アクセスレベル1,2のデータを閲覧できるアクセスレベル3をもったアカウントでログオンします。アクセスレベル1、レベル2、レベル3のデータが閲覧できます。アクセスレベル1,2,3のデータを閲覧できるアクセスレベル4をもったアカウントでログオンします。すべてのアクセスレベルのデータが閲覧できます。すべてのレベルのデータを閲覧できる定義方法サンプルで用意したモデルは次の通りです。本サンプルで利用する項目を示します。「アクセスレベル」を整数型として用意します。次の計算式によって求められるとします。自動計算式で「#id」を付与するとモデルのID値を取得することができます。アクセスレベル項目について、複数の暗黙条件を設定します。暗黙条件の設定では「指定した権限を満たした場合、この暗黙条件を適用しない(無視する)」というオプションが用意されています。この機能を活用します。複数の暗黙条件が指定された場合、これらの暗黙条件は「かつ」条件式として扱われます。ここで示した例の場合、下記の条件が適用されることになります。「アクセスレベル」項目は「1より小さい」かつ「2より小さい」かつ「3より小さい」かつ「4より小さい」(「適用外の権限」が考慮されていないとき)これに「適用外の権限」を考慮すると次のようになります。暗黙条件は以下のように動作します。「アクセスレベル」項目は「2より小さい」かつ「3より小さい」かつ「4より小さい」ただし「2より小さい」という条件は「3より小さい」と「4より小さい」を包含しているので、結果的には「アクセスレベル」項目は「2より小さい」という条件が適用されることになります。暗黙条件は以下のように動作します。「アクセスレベル」項目は「3より小さい」かつ「4より小さい」ただし「3より小さい」という条件は「4より小さい」を包含しているので、結果的には「アクセスレベル」項目は「3より小さい」という条件が適用されることになります。利用者毎に割り当てる「プリンシパル」と、各プリンシパルに対応した「パーミッション」を用意します。