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);