レコードレベルのアクセス制御

テーブルのレコードについて、ユーザーごとの閲覧・編集・削除権限を設定できます。

ここでは、ユーザー情報を記録したテーブルについて、次のような権限を設定する例で説明します。

・作成者は、自分自身の作成したレコードを閲覧・編集できるが、削除はできない。

・作成者のリーダーは、すべてのレコードを閲覧できるが、編集・削除はできない。

・Administratorは、すべてのレコードを閲覧・編集・削除できる。

・各ユーザーは、他のユーザーのレコードは閲覧できない。

 

1 組織について以下のように設定します(作成者のリーダー用)。

 

組織名

親組織

Office

 -

部署1

Office

部署2

Office

 

組織名

メンバー

リーダーかどうか

Office

マネージャー

true

部署1

リーダー1

true

部署1

ユーザー1

false

部署2

リーダー2

true

部署2

ユーザー2

false

 

2 「社員情報」という名前でテーブルを作成します。

 

3 右ペインで[レコードレベルのアクセス制御]をクリックします。

4 「レコードレベルのアクセス制御を有効化する」をチェックして以下のように設定し、[OK]をクリックします。

5 テーブル「社員情報」からページを作成し、[ホーム]→[(デバッグ)]で確認します。

 

1) ユーザー1でログインし、2つのレコードを作成してみます。

2) ユーザー2でログインすると、ユーザー1の作成した2つのレコードを閲覧できません。ユーザー2の権限で、1つのレコードを追加してみます。

3) リーダー1でログインすると、ユーザー1の作成した2つのレコードを閲覧できますが、編集はできません。リーダー1の権限で、1つのレコードを追加してみます。

4) マネージャーでログインすると、ユーザー1、ユーザー2、リーダー1の作成したレコードをすべて閲覧できますが、編集はできません。

5) Administratorでログインすると、すべてのユーザーが作成したすべてのレコードを閲覧・編集・削除できます。