现在权限子系统定义了三个接口IPermission,IPermissionService.IPermissionManager
public interface IPermission
{
///
/// 获取本子系统所有功能点
///
List<Function> GetAllFunctions();
///
/// 获得子系统名称
///
///
string GetSystemName();
}
今天先说一下IPermission接口,IPermission暂时定义了GetAllfunction(),GetSystemName()两个方法.
子系统插入框架有两个条件:
一实现了IPermission接口,进入框架前先得表明身份和进入的功能点.
二既然是进入框架,那你得按我的规矩办事,也就是你得按我的权限认证方式来进行认证.
权限子系统就是个Boss,他不用知道现在系统中有那些子系统,他只用问,开始报到,然后每个子系统会依次报数:挂号子系统到,医生工作站到......当Boss想知道现在我们系统中都有哪些功能啊,然后每个小兵就会一个个屁颠屁颠的跑来报告:挂号子系统有挂号,退号,日结....功能,医生工作站有创建病案,添加医嘱...功能,这样才有Boss的风范嘛,如果是这种事情还要我一个个去问,还不累死.至于权限认证,这就Boss决定了,干什么活得由Boss说了算,不然还叫什么Boss.当然子系统想搞独立,我不要权限认证了,这种方式我不适应,ok想走就走把,自个去实现权限管理接口IPermissionService(该接口TT会做详细介绍),想怎么玩就怎么玩,我才没功夫理你.再举个例子:现在有个3口电源插座,我一台显示器插头现在想插上来,可以,但是这插头必须满足插头是3口的.如果你不想用我这个插座了,也可以,你自己改成2口的去插别的插座,或是别的方式,都可以,给你充分的自由.当然权限子系统是不可插拔的,他属于我们框架的基础服务.
不知道这种描述方式让大家明白设计的思路没.有什么建议还望大家不吝赐教.