【ローコード開発ツール】Wagby EE 使ってみた! - 第10回 権限設定とサブモデルを組み合わせる
前回は、選択肢モデルの設定方法について紹介しました
今回は権限の設定方法や、サブモデルとの組み合わせ方法について記載します
権限
Wagby EE では、権限は役割ベースで管理されており、この役割のことを「プリンシパル」と呼びます
また、データの閲覧や更新などの操作ができる権限を「パーミッション」と呼び、この「パーミッション」を「プリンシパル」に割り当てます
一方で、各モデルにはその画面を操作するために必要な権限をチェックする機能が備わっています
そのため、ログオンユーザが持つ「プリンシパル」の中に、各モデルが求める「パーミッション」が含まれていれば、その画面での処理が可能です
初めに、顧客モデルに対して「システム管理者」のみがアクセスできるように権限設定をしていきます
設定方法
顧客モデルの権限タブ>機能権限タブを開きます

プリンシパルの初期設定は一般ユーザ「Public user(common)」となっているので、プルダウンでシステム管理者「System administrator(all)」に変更します

ここまで設定できたら、差分ビルドを行いましょう
次に、「システム管理者」との比較対象として、アプリから「一般ユーザ」アカウントを作成していきます
アプリ設定
「一般ユーザ」プリンシパルを割り当てたユーザを新規作成します
「システム管理者」でアプリにログオンし、管理処理タブ>アカウント一覧表示>「登録画面へ」を押下します

必要箇所を入力し、プリンシパルのアカウントタブで、「一般ユーザ」にチェックを入れます
入力できたら、保存ボタンを押下します

これで「一般ユーザ」アカウントが作成ができたので、「システム管理者」からログオフします
アプリで確認
新規作成した「一般ユーザ」でログオンします
顧客モデルは「システム管理者」のみアクセスできるように権限を付与したため、「一般ユーザ」でログオンした画面には顧客の検索ボタンが表示されなくなりました

これで、モデル単位で権限が付与されたことが確認できました
続いて、モデル単位よりもさらに細かい、項目単位で権限を付与する方法について紹介します
項目ごとに個別に制御することも可能ですが、管理したい項目が多い場合は、サブモデルと組み合わせて一括管理する方法が効率的です
サブモデル
メインとなるモデルの定義内容をコピーして作成したモデルをサブモデルといいます
メインモデルとサブモデルはデータベース上のテーブルが共通のため、サブモデルで登録したデータはメインモデルでも表示されます
また、サブモデルでは既存項目(メインモデルからコピーされた項目)を削除できるため、権限設定と組み合わせることで、項目単位でアクセスできるユーザを限定できます
例えると、メインモデルは『全ての項目が確認できる窓』、サブモデルは『必要な項目だけが見える小さな窓』のように使い分けることができます
設定方法
今回は「一般ユーザ」が、顧客モデルの一部の項目のみにアクセスできるように設定をします
まずはサブモデルを作成していきましょう。モデルタブで顧客モデルにチェックを入れます

歯車マークを押下し、テンプレート>サブモデルを選択します

顧客モデルの下に「顧客- サブモデル」ができました

「顧客- サブモデル」の編集ボタンを押下します
権限タブ>機能権限タブを開き、プリンシパルを一般ユーザ「Public user(common)」に変更します

項目タブで、「一般ユーザ」に見せたくない項目を削除します
今回は、「郵便番号」「住所」「電話番号」を削除します

ここまで設定できたら、差分ビルドを行ってアプリ画面を見てみましょう
アプリで確認
一般ユーザでログオンし、権限設定が反映されているか確認してみましょう
顧客検索>「顧客- サブモデル」の検索画面>「登録画面へ」を押下します

アプリ画面左上の表示からも、「一般ユーザー」からサブモデルにアクセスできていることが分かります
また、先ほど削除した項目「郵便番号」「住所」「電話番号」は表示されず、残りの項目のみ入力可能となっています

次に、登録データの詳細表示を確認してみましょう
「システム管理者」アカウントで、「郵便番号」「住所」「電話番号」含む顧客データを登録し、「一般ユーザ」でログオンした画面から詳細を押下します

「郵便番号」「住所」「電話番号」のデータが登録されていても、「一般ユーザ」でログオンした画面からは確認することができません

これで、項目単位で権限設定ができていることが確認できました
終わりに
このページの内容が気になったらお気軽にお問い合わせください
また、さらに詳細なWagby EEの操作を見てみたい場合は紹介セミナーを開催しているのでこちらもお問い合わせください






