アプリで、ユーザーごとに表示するデータの詳細画面変えたいですよね。今回は、アクセス権を設定してそこの操作を行いましょう。
メインフォームはフォームごとにアクセス権を設定することができます。
今回はその方法について説明します。
設定方法
フォームの一覧画面で、設定したいメインフォームを選択し、[フォームの設定]をクリックします。
ここでセキュリティロールを設定します。規定では「すべてのユーザー」になっていますが、ここで「特定のセキュリティロール」を選択すると、セキュリティロールの設定ができます。見せたいセキュリティロールを選択します。
しかし、ここで注意することがあります!左の「フォールバックフォーム」を開きます。
チェック項目がありますが、これがクリアできていない状態だとセキュリティロールを設定しても全員に表示されるままになってしまいます。
端的に説明すると、このチェックが外せないと上でセキュリティロールを設定しても、このフォームは全員に見えてしまいます。
チェックを外すにはもう一つフォームを作って、どちらかのフォームにこのチェックをつけておく必要があります。
では、より深く理解するためにフォールバックがなんなのかについて解説します。
フォールバックフォーム
フォールバックフォームは、セキュリティロールが割り当てられていないユーザーにも表示されるフォームです。
デフォルトでメインフォームは「フォールバックフォーム」になっています。
フォールバックフォームは1つのテーブルにつき、必ず1つないといけません。
その為、メインフォームが1つしかないときは「フォールバックとして有効」オプションがクリアできないようになっています。
メインフォームを2つ以上作ると少なくとも1つをフォールバックフォームにしておけばそれ以外をセキュリティロールごとに見える・見えないを制御できます。
2つのメインフォームを作った後
「フォールバックとして有効にする」のチェックを外して、[保存して公開]ボタンをクリックして完成です。
これで、特定のセキュリティロールの人にしか表示されない詳細画面を作ることができました!
ちなみに:クラシック画面での設定方法
昔の画面に慣れている方はこちらから設定することもできますので、試してみてください。
Power Appsの画面で左上の設定の歯車マークをクリックします。ここで表示されるメニューの中の「詳細設定」をクリックします。
上のバーの「設定」の横の[▽]をクリックして[カスタマイズ]をクリックします。
以下のようなウィンドウが表示される。左のメニューの[エンティティ]を選択します。(エンティティ=テーブル)
環境内のテーブルが表示されるため、ここで、該当のテーブルを選択します。
[フォーム]をクリックして、表示されるフォーム一覧で、設定したいメインフォームを選択します。
一覧の上にある「セキュリティ ロールの有効化」をクリックします。
ここで、「選択したセキュリティロールにのみ表示する」を選択し、セキュリティの割り当てを行います。