管理者のみ全文書表示するようにする(ロールの設定)
前のページでは、他人の文書を見えなくする設定を行いました。ただし、「読者フィールド」はACLの権限に関係なく有効になる設定です。そのため、今のままではNotes
DBの管理者であっても、表示できない文書が存在してしまうことになります。
そのようなことを防ぐため、管理者にも読者フィールドを使って読み込み権限を与えます。ただし、管理者のNotes
IDをそのまま設定すると管理者が変更になった場合に対応ができなくなってしまいます。そのため、Notesではロールというものを用いて権限を与えることが可能です。
ロールとは、その名の通り役割です。「課長であれば承認処理が可能」というように、特定の役割を設定し、その役割に対して権限設定を行うことが可能です。
今回は、管理者(「ロール名:Admin」)というロールを作成し、このロールを持っているユーザーであれば、全文書表示するように設計を変更します。
※蛇足ですが、Notes/Dominoのバージョン7からは、フルアクセスアドミニストレーター権限という機能が追加されました。この機能を用いれば読者権限の無い文書でも、サーバー管理者はアクセスができるようになります。(ただし、サーバー管理者に都度確認を依頼するのは運用上ありえないと思いますので、これから説明するようなロールを使用した運用にするのが良いでしょう)
1. Notes DBのACLを開きます。その後、「ロール」タブを開き、「追加」ボタンをクリックします。
2. 「ロールの追加」ダイアログが表示されるので、「Admin」と入力し、「OK」ボタンをクリックします。
3. [Admin]という名前のロールが追加されたことを確認します。
4. 「基本」タブに戻り、管理者のロールを与えたいユーザーを選択し、右下のロール欄で、「[Admin]」のロールにチェックを入れます。その後、OKボタンをクリックし、アクセス制御リストダイアログを閉じます。(これで、ユーザー「Admin/sample」に対して[Admin]のロールを与えたことになります。
5. 「質問表」フォールを開き、以下のフィールドを追加します。
名前 : Admin
種類 : 読者、作成時の計算結果
6. 「Admin」フィールドの値に「"[Admin]"」と入力し、フォームの設計を保存します。
以上で、今後作成される文書には読者フィールドに[Admin]の値が設定されているため、[Admin]ロールがあるユーザーであれば文書を表示させることができるようになります。