权限体系是用于约束用户访问或操作资源的权利,这里的“资源”可以指数据,也可以指特定的功能(如审核订单)。通常的权限体系设计是基于角色的访问控制方式,用户通过角色与权限进行关联。作者的实现方式稍微有些不同,通过组织结构树与权限进行关联,这样可以实现子级节点继承上级节点设置的权限。
注意:请勿将admin用户的admin权限取消掉,未做判断会导致无权限。
注意:系统默认的admin密码:760wb,test密码:la581
调用服务时,根据会话的组织单元路径与指定的权限比对,可判断当前用户是否具备特定的权限。
注意:目前未验证权限的服务所有人均可调用。
[invokepermission(permissions.admin || permissions.developer)] //可组合 public async task<entitylist<entities.orgunit>> loadtreelist() { var q = new tablescan<entities.orgunit>(); return await q.totreelistasync(t => t.childs); }
public async task saveorder(entities.order order) { if (!permissions.saveorder) throw new exception("不具备操作权限"); await entitystore.saveasync(order); }
本篇主要介绍了框架集成的权限体系的实现方式,github上的运行时已经更新可测试。如果您有问题或bug报告,请留言或在github提交issue。
如对本文有疑问, 点击进行留言回复!!
网友评论