1.0.6 • Published 4 years ago
lite-acl v1.0.6
lite-acl
最近做公司项目需要对接口做权限控制,但是 npm 的组件都太大了,所以自己写了个超轻量级的 ACL
import LiteAcl,{Can} from 'lite-acl';
const ac = LiteAcl.getAC();
ac.add('role1', ['a', 1, 'b']);
ac.add('role2', 'dd.ee');
ac.add({'role3':[1,2,3], 'role4':[4,5]})
ac.view('role1');
ac.view(); // 查看所有角色权限
ac.can('role1', 'a'); // true
ac.can('role1', ['a',1]); // true
ac.can('role1', ['a', 'c']); // false
ac.can('role1', ['a', 'c'], {canType:'one'}); // true
ac.can(['role1', 'role2'], ['a','dd.ee']); // true
class AController{
@Can(['dd.ee'],'role2')
run1(){
}
@Can(['dd.ee']) // 如果省略角色,则角色默认取ctx.liteAclRole属性值
run2(){
}
}