NocoBaseのACLでページアクセスを制御する

2024.04.22

こんにちは、栁澤です。
今回は、NocoBaseでユーザーのロールに応じたページのアクセス制御をやってみます。

困っていたこと

あるロールを持つユーザーのみアクセスできる管理画面を作りたい。
例えば、給与管理画面を作る場合はマネージャーのみが表示できるようにする必要があります。

そのような要件をNocoBaseのACLを利用して実現してみます。
今回は下記の「CatManager」をAdminユーザーのみアクセスでき、Memberユーザーにはアクセスできないよう設定してみます。

どう対応すればいいの?

ロールごとにメニュー表示項目を設定する

設定メニューから「Users & Permissions」編集画面へ遷移し、「Roles & Permissions」タブを開きます。

使用可能なメニュー項目を制限したいロールを選択し、メニューアクセス権限の「アクセスを許可する」の☑を外します。

実証

今回メニューアクセス権限を編集した「Member」ロールを持つユーザーでサインインしてみます。

メニューには「CatManager」が表示されなくなっています。
念の為「CatManager」のURL直打ちでのアクセスも試してみましたが表示されることはありませんでした。

以上でユーザーのロールに応じたページのアクセス制御を実現できました。