自分の作成した文書のみ編集させる(作成者フィールド)

 名前欄の入力を自動化したことで、他人の成りすましを防ぐことができるようになりました。次に、改ざんを防止する仕組みを追加してみましょう。このアンケートDB上では、自分の文書のみ編集可能で、他人の文章は読むことのみできるように設定します。

 Notesには標準で、ユーザー単位やグループ単位で、以下7段階のアクセス権限を設定することが可能です。

■管理者
DBの削除、他人の権限変更等、すべての処理が可能なユーザー・グループ
■設計者
Domino Designerを用いてNotes DBの設計変更が可能なユーザー・グループ
■編集者
Notes DB上のすべての文書に編集権限を持つユーザー
■作成者
[作成者フィールド]に自分のユーザー名/グループ名が設定されている場合のみ、文書に編集権限を持つユーザー・グループ
■読者
文書のを参照することのみできるユーザー
■投稿者
文書の作成のみ可能で、文書を参照することが出来ないユーザー
■なし
基本的にDBにアクセスできないユーザー

ちなみに、このアクセス権限が有効になるのは、Notes DBがサーバー上にある場合です。ローカルにあるNotes DBの場合、すべて管理者の権限でアクセスできるため、「読者」に設定していてもすべての文書に編集権限を持ちます。

1. ローカルではテストができないため、サーバー上にDBをコピーします。今まで作成していたNotes DBアイコンを右クリックし、[データベース]->[コピー]を選択します。

2. 「データベースのコピーダイアログが表示されるので、DB作成権限のあるサーバーを「サーバー」欄に設定し、OKボタンをクリックします。

3. 新しく作成されたNotes DB(指定したサーバー名がアイコンに表示される)を右クリックし、[Designerで開く]メニューを実行します。

4. ナビゲーターに同じ名前のDBが2つ並んでいると混乱を招くので、ローカル側のDBをブックマークから削除します。サーバーが表示されていない側のDBを右クリックし、[ブックマークから削除]メニューを実行します。

5. 「質問表」フォームで「Name」フィールドをダブルクリックし、フィールドのプロパティを表示させます。

6. 「Name」フィールドの種類を「作成者」に変更し、フォームの設計を保存します。

7. データベースのACL設定を開き、テストユーザーのIDを追加し、「作成者」アクセス権を設定します。その際、「文書の作成」チェックを入れてください。このチェックがないと、作成者権限があっても新規で文書を作成することができません。(テストのためのユーザーIDを別途準備ください)

8. Notesクライアントで[ファイル]->[セキュリティ]->[IDの切り替え]を選択し、テスト用のユーザーIDに切り替えます。

以上の状態で、テスト用のユーザーでは既存の文書が編集できず、自分が新規で作成した文書のみ編集ができるようになっています。

※新しいユーザーでは、クライアントの設定次第では「セキュリティ警告」が表示される場合がありますが、これは「この操作について署名者を信頼する」にチェックをいれOKボタンを押すようにしてください。

Notesでは、埋め込んだスクリプトの作成者によって、このスクリプトを実行してよいかを設定することが可能です。今回スクリプトを作成したユーザーを信頼する設定になっていない場合にこのダイアログが表示されます。

前へ | Topへ | 次へ

inserted by FC2 system