queryAccessPrivileges (NotesDatabase - JavaScript)

ユーザー、グループ、サーバーに付与されている、データベース内での特権を返します。

定義場所

NotesDatabase

構文

queryAccessPrivileges(name:string) : int
パラメータ 説明
name ユーザー、グループ、サーバーの名前。階層名の場合は、フルネームを指定する必要がありますが、短縮形にすることも可能です。
戻り値 説明
int 現在のアクセス権。以下の値の組み合わせになります。
  • DBACL_CREATE_DOCS 1
  • DBACL_DELETE_DOCS 2
  • DBACL_CREATE_PRIV_AGENTS 4
  • DBACL_CREATE_PRIV_FOLDERS_VIEWS 8
  • DBACL_CREATE_SHARED_FOLDERS_VIEWS 16
  • DBACL_CREATE_SCRIPT_AGENTS 32
  • DBACL_READ_PUBLIC_DOCS 64
  • DBACL_WRITE_PUBLIC_DOCS 128
  • DBACL_REPLICATE_COPY_DOCS 256
個別の特権は、ビット単位演算子で判別できます。

使用法

指定する名前が ACL に明示されている場合、queryAccessPrivileges は、その ACL エントリの特権を返し、グループを検査しません。

指定する名前が ACL に明示されていない場合、queryAccessPrivileges は、プログラムが実行されている第 1 アドレス帳 (ワークステーションでは個人アドレス帳、サーバーでは Domino® ディレクトリ) で、その名前がグループのメンバーになっているかどうかを検査します。

以下のボタンは、現在のデータベースに対する現在のユーザーの権限を取得します。
var title:string = database.getTitle();
var user:string = session.getUserName();
var accPriv:int = database.queryAccessPrivileges(user);
requestScope.status = "Privileges for " + user + " in " + title;
// Check each privilege bit to see if it is 0 or 1
if ((accPriv & NotesDatabase.DBACL_CREATE_DOCS) > 0)
	requestScope.status += "¥n¥tCreate documents";
if ((accPriv & NotesDatabase.DBACL_DELETE_DOCS) > 0)
	requestScope.status += "¥n¥tDelete documents";
if ((accPriv & NotesDatabase.DBACL_CREATE_PRIV_AGENTS) > 0)
	requestScope.status += "¥n¥tCreate private agents";
if ((accPriv & NotesDatabase.DBACL_CREATE_PRIV_FOLDERS_VIEWS) > 0)
	requestScope.status += "¥n¥tCreate private folders/views";
if ((accPriv & NotesDatabase.DBACL_CREATE_SHARED_FOLDERS_VIEWS) > 0)
	requestScope.status += "¥n¥tCreate shared folders/views";
if ((accPriv & NotesDatabase.DBACL_CREATE_SCRIPT_AGENTS) > 0)
	requestScope.status += "¥n¥tCreate LotusScript/Java agents";
if ((accPriv & NotesDatabase.DBACL_READ_PUBLIC_DOCS) > 0)
	requestScope.status += "¥n¥tRead public documents";
if ((accPriv & NotesDatabase.DBACL_WRITE_PUBLIC_DOCS) > 0)
	requestScope.status += "¥n¥tWrite public documents";
if ((accPriv & NotesDatabase.DBACL_REPLICATE_COPY_DOCS) > 0)
	requestScope.status += "¥n¥tReplicate or copy documents";

言語間の参照

LotusScript® NotesDatabase クラスの QueryAccessPrivileges メソッド

Java™ Database クラスの queryAccessPrivileges メソッド