当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2010年3月18日木曜日

現在のDBに対するアクセス権を求める

暖かくなったと思ったら寒くなったり、春先は天候が不安定なので、体調管理には気をつけましょうね。
筆者は寒暖の差に弱いので、普段よりも気をつけています。

では、今日の記事の前に・・・
にほんブログ村 IT技術ブログへ
押しましたね?押してない方は読んじゃ嫌です。


では、本題へ。
今日は@関数ネタです。8.5のネタか!?と思った人は残念でした、ごめんなさい。

さてさて・・・
@関数の一つに、ノーツDBに対して、現在のユーザのアクセス権を調べる@UserAccessというのがあります。
構文は
@UserAccess(サーバ名:DBファイルパス名;[調査したいアクセス権オプション])
です。

「調査したいアクセス権オプション」は、R6から追加されたもので、省略も可能です。
ここで、注意したいことが一つあります。
このオプションを省略した場合には、[REPLICATEORCOPYDOCUMENTS]の結果は返ってこないと言うことです。
このオプションは、「文書を複製またはコピー」にチェックがついているかどうかを返すものなのですが、なぜか返ってこないのです。
この事はヘルプにも出ていますので、良く確認してから使いましょう。


サンプルは、現在のDBに対するアクセス権を確認するという簡単なものです。
オプションを省略した場合と、[ReplicateOrCopyDocuments]オプションを付けた場合の2種類を実行しています。

工夫して使えば、データベースのアクセス権チェックといったアプリケーションを作成することも可能ですね。
tmp := @UserAccess(@DbName);
@Prompt([Ok];"@UserAccessの結果";"戻り値の個数: "+@Text(@Elements(tmp))+@NewLine+"戻り値: "+@Implode(tmp));

tmp2 := @UserAccess(@DbName;[ReplicateOrCopyDocuments]);
@Prompt([Ok];"文書を複製又はコピーの結果";@Text(tmp2))



【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: