サポート > Wagby定義ファイル > 14 権限管理 > モデル項目に隠し権限を設定する
特定の権限をもった利用者のみ表示できる項目を設定する方法を説明します。
実行例
ここでは、「顧客」というモデルにおけるいくつかの項目に権限を付与し、特定の利用者(アカウント)からのみ閲覧できるという例を示します。 権限を持つ利用者からは、図1の画面を確認できます。
一方、権限を持たない利用者は、図2の画面となります。「メールアドレス」「携帯電話番号」「住所」という 3 つの項目が表示されません。つまりこの利用者は、これらの項目の存在を知ることがありません。
詳細は以下のページをお読みください。
- 「帳票」-「プレースホルダ」、
- 「メール送信」-「プレースホルダの利用」
設定方法
まず「顧客(customer)」というモデルを用意します。このモデルには、氏名やメールアドレス、携帯電話番号、住所といった個人情報が含まれています。
ここで「メールアドレス」と「携帯電話番号」、「住所」の3項目について、権限の設定を行います。権限を設定するのは、モデル定義シートの上部にある「権限定義」ボタンを押して表示される画面です。
権限定義シートでは、まず「プリンシパル」を設定します。プリンシパルとして「個人情報(privatedata)」を追加します。なおNo.1の「一般ユーザ」はあらかじめ Wagby が用意しているプリンシパルです。仕様に合わせて変更・追加することも可能です。ここでは1プリンシパルに対してデータ閲覧、検索、更新、登録、削除といった10パーミッションを指定しています。すなわち、当モデルに関しては、設定された処理を行うことが可能な権限となります。
次に権限設定シートにパーミッションを設定します。「メールアドレス(email)」「携帯電話番号(mobilephone)」「住所(address)」それぞれに、「perm_email」「perm_phone」「perm_addr」というパーミッションを追加し、「個人情報」プリンシパルと関連付けを行います。
最後にモデル定義シートに戻り、制限したい項目について、「参照権限」の欄にそれぞれパーミッション名を入力します。
| 種類 | 説明 |
|---|---|
| 一般ユーザ | データ閲覧・検索・更新・登録・削除・ダウンロード・アップロード更新・メニュー表示、一覧更新、帳票出力のパーミッションを持ちます。 |
一般ユーザのプリンシパルとシステム管理者のプリンシパルを分けたい場合には、別途システム管理者のプリンシパルを作成する必要があります。システム管理者のプリンシパルを作成する場合には、必ずプリンシパル(日本語名)を「システム管理者」、プリンシパル(英語名)を「all」として定義してください。これ以外で定義すると、ビルド時にエラーとなります。
権限の割当
Wagby定義ファイルを変更してWebアプリケーションをビルドした後、利用者(アカウント)に適切な権限を付与します。
ここでは「guest」ユーザアカウントを用いて説明します。 管理者(admin)でログオンした後、「管理処理」メニューの「アカウント一覧表示」からユーザを選択し、「更新画面表示」ボタンをクリックすると、次のような「プリンシパル」という項目が表示されます。
このプリンシパルに「個人情報」というプリンシパルの選択肢があります。この項目をチェックすることで、先に制限を設けた項目が表示されるようになります。ここで、「guest」にはこのプリンシパルを与えずに、「一般ユーザ」のみをチェックしてみます。この設定を保存して「guest」でログオンし、顧客情報を閲覧します。すると「メールアドレス」「携帯電話番号」「住所」の3項目についてのパーミッションをもたないため、表示されないことを確認できます。
例)「perm_abc」 というパーミッションを定義し、項目A、B、Cに参照権限を設定
【項目名】:【参照権限】
項目A : perm_abc
項目B : perm_abc
項目C : perm_abc








