forked from iod/ControlProxy
.. | ||
actemplate | ||
LICENSE | ||
README.md | ||
role.template.json |
access-control-template
构建配置
1.在build.gradle中,增加copyAccessControl
task copyAccessControl(type: Copy) {
from "../access-control-template/yjs"
into "./build/output/"
}
- 在
buildZip
任务中添加依赖:
task buildZip(type: Zip, dependsOn: [...,"copyAccessControl"]) {
...
- 在
main.yjs
中添加RocksDB权限。@Permission("RocksDB")
ABAC.yjs的使用方式
1.在main.yjs中增加import
语句,并在onCreate
方法中,添加初始化调用。
import "actemplate/ABAC.yjs";
function onCreate(arg) {
...
initABAC(requester);
}
2.针对需要访问控制的函数,使用@Access
注解
@Access({"ACFunction":"accept"})
export function xxx
3.初始化权限。
初始状态下,仅owner
(启动者) 拥有全部权限。
通过调用addPermission
和removePermission
可对相应公钥的用户作授权。
RBAC.yjs的使用方式
1.配置角色-权限。在main.yjs
下创建 role.json
。
参考role.template.json。例如以下配置文件定义了两种角色userAdmin
和authorizedUser
。
启动者自动默认为超级管理员,有全部权限。
{
"userAdmin": ["addRole","removeRole"],
"authorizedUser": ["hello"]
}
2.在main.yjs中增加import
语句,并在onCreate
方法中,添加初始化调用。
import "actemplate/RBAC.yjs";
function onCreate(arg) {
...
initRBAC(requester, Global.Resources.loadAsString("/role.json"));
}
2.针对需要访问控制的函数,使用@Access
注解
用法同ABAC。
@Access({"ACFunction":"accept"})
export function xxx
3.初始化权限。
初始状态下,仅owner
(启动者) 拥有全部权限。
通过调用addRole
和removeRole
可对相应公钥的用户作授权。