Class: Acl

Acl

ACLクラス


new Acl(json)

Parameters:
Name Type Description
json Object

JSON表記のACL。省略時は全エントリが空の状態で生成される。

Example
var acl1 = new Nebula.Acl();
var acl2 = new Nebula.Acl({"r": [Nebula.Acl.AUTHENTICATED]});

Members


<static, constant> ADMIN

管理権限(admin)


<static, constant> ANONYMOUS

ログインしていないユーザを含む全ユーザ (g:anonymous)


<static, constant> AUTHENTICATED

ログイン認識した全ユーザ (g:authenticated)


<static, constant> CREATE

作成権限(c)


<static, constant> DELETE

削除権限(d)


<static, constant> OWNER

オーナ(owner)


<static, constant> READ

読み込み権限(r)


<static, constant> UPDATE

更新権限(u)


<static, constant> WRITE

書き込み権限(w)

Methods


addEntry(permission, entry)

対象権限にユーザIDまたはグループ名を追加する

Parameters:
Name Type Description
permission String

エントリを追加する対象権限
以下のいずれかの値を指定する。

entry Object

ユーザまたはグループ情報 以下のいずれかを指定する。

・ユーザを指定する場合

  • User インスタンス
  • ユーザIDの文字列

・グループを指定する場合

  • Group インスタンス
  • グループ名に g: を付けた文字列。
    (例) グループ名が GROUP_A の場合、 g:GROUP_A
  • Acl.AUTHENTICATED : ログイン認証された全ユーザ
  • Acl.ANONYMOUS : ログインしていないユーザを含む全ユーザ
Returns:

正常追加した場合 true、 パラメータが不正の場合 false を返す

Type
Boolean
Example
var acl = new Nebula.Acl();
     var user = new Nebula.User();
     var group = new Group("MyGroup");
     ....
     acl.addEntry(Nebula.Acl.READ, user);
     acl.addEntry(Nebula.Acl.WRITE, "USER_01");
     acl.addEntry(Nebula.Acl.CREATE, group);
     acl.addEntry(Nebula.Acl.UPDATE, "g:GROUP_A");
     acl.addEntry(Nebula.Acl.DELETE, Nebula.Acl.AUTHENTICATED);

getEntries(permission)

対象権限のユーザIDおよびグループ名のエントリ一覧を取得する

Parameters:
Name Type Description
permission String

取得するエントリ一覧の対象権限
以下のいずれかの値を指定する。

Returns:

ユーザIDまたはグループ名の文字列の配列を返す。 エントリがない場合は、空配列を返す。
グループ名には、g: が先頭に付加されている。

Type
Object
Example
var acl = ....;

     var entries = acl.getEntries(permission);
     for (var i = 0; i < entries.length; i++) {
         entry = entries[i];
         ....;
     }

getOwner()

所有者のユーザIDを取得する

Returns:

ユーザIDの文字列を返す。所有者がない場合は、null を返す。

Type
String
Example
var acl = ....;
     ....
     var userId = acl.getOwner();

removeEntry(permission, entry)

対象権限からにユーザIDまたはグループ名を削除する

Parameters:
Name Type Description
permission String

エントリを削除する対象権限
以下のいずれかの値を指定する。

entry Object

ユーザまたはグループ情報。 以下のいずれかを指定する。

・ユーザを指定する場合

  • User インスタンス
  • ユーザIDの文字列

・グループを指定する場合

  • Group インスタンス
  • グループ名に g: を付けた文字列。
    (例) グループ名が GROUP_A の場合、 g:GROUP_A
  • Acl.AUTHENTICATED : ログイン認証された全ユーザ
  • Acl.ANONYMOUS : ログインしていないユーザを含む全ユーザ
Example
var acl = new Nebula.Acl();
     var user = new Nebula.User();
     var group = new Group("MyGroup");
     ....
     acl.removeEntry(Nebula.Acl.READ, user);
     acl.removeEntry(Nebula.Acl.WRITE, "USER_01");
     acl.removeEntry(Nebula.Acl.CREATE, group);
     acl.removeEntry(Nebula.Acl.UPDATE, "g:GROUP_A");
     acl.removeEntry(Nebula.Acl.DELETE, Nebula.Acl.AUTHENTICATED);