欢迎来到天天文库
浏览记录
ID:38493846
大小:528.00 KB
页数:36页
时间:2019-06-13
《权限设计模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、逸群中间业务平台权限设计时模型版本:V1.0文档类别:正式开发设计文档密级:AA技术设计文档编写人:周存杰2007年9月30日星期日第一章程序集授权模型(中间件)41.1需求概述41.2界面51.3数据库设计51.4保存模式61.5代码设计61.5.1需求描述61.5.3代码接口61.5.4非接口代码81.5.5代码实现规范9第二章TREE授权模型(中间件)102.1需求概述102.2界面布局112.3授权122.4建议132.5代码设计132.5.1代码文档132.5.2代码接口14第三章业务类型授权模型(中间件)1
2、43.1需求概述143.2开发方案14第四章业务授权模型(中间件)154.1需求概述154.2开发方案15第五章动作授权165.1需求概述165.2界面165.3数据库设计175.4保存模式175.5代码设计18第六章表授权模型(中间件)206.1需求概述206.2开发方案21第7章列授权模型(中间件)217.1需求概述216.2开发方案21第八章业务冲突模型(中间件)228.1需求概述228.2界面225.3数据库设计225.4保存模式235.5代码设计23第九章行授权模型(中间件)279.1需求概述279.1.1特
3、定表基本授权279.1.2参照授权279.1.3泛授权289.1.4需求总结289.2行权限设计思路299.3主界面设计309.4数据库设计305.4保存模式315.5代码设计31开发顺序:TREE授权模型→业务类型→业务授权→表授权→列授权→程序集→业务冲突→动作授权→行授权第一章程序集授权模型(中间件)1.1需求概述作为平台权限的最基础的授权,授权对象(包括单位、部门、岗位、角色、用户)能使用哪些程序集,不能使用哪些程序集,应该有一个权限配置,作为程序集权限,默认的情况下,应该都有权使用,特别设置后,才无权使用。对
4、于一个业务模型,在激活前,如果发现当前用户无权使用该程序集(比如DLL),那么就应提示无权加载。这能解决一些模块的拆分问题,使我们的程序具有可伸缩性,可以通过运行时配置,来组装一套软件,甚至可以租赁模块,对于平台有一定意义。1.2界面图1-1如图1-1所示,是程序集授权界面,C处为授权对象树,树名称为“AUTHOBJ”。D处为程序集树,树名称为ASSEMBLY。当C处选中特定节点时,A处显示该节点的文本。B处为两个单选按钮,指示是对设计器的授权还是对运行时程序集的授权。1.3数据库设计SYS_ASSEMBLYAUTH,
5、程序集授权表位置:系统表→系统权限表→新平台程序集权限表数据描述:AUTHTYPEFLAG:授权对象类型,C树选中节点的TypeFlag-------IAUTHOBJ:授权对象的值,C树选中节点的Value---------------------IITYPEFALG:程序集标记,D树选中节点的Value-----------------------IIIASSTYPE:程序集类型,1为设计器,2为运行时,根据B处的值设置该字段的值。--IV1.4保存模式根据AUTHTYPEFLAG、AUTHOBJ值AND条件先从数据
6、库删除再添加。1.5代码设计1.5.1需求描述我们的程序不但可以当作业务模型来做,而且还要能够当作控件(中间件)来使用,所以,应当公开一些属性、方法、事件等,以支持当作控件时使用。1.5.3代码接口从ITreeLoad接口继承,实现ITreeLoad接口,该接口在IInterfaces.cs,新平台接口项目获取最新即可得到。(1)TreeName属性,D树名称,当作控件时,可以通过代码设置该属性(2)TreeDesciption属性,D树名称描述,好记的名称。(1)加载树之前激活该事件eventTreeLoadingH
7、anlerTreeLoading;(2)加载树之后激活该事件eventTreeLoadedHanlerTreeLoaded;(3)调用该函数,激活TreeLoading事件voidOnTreeLoading(objectsender,TreeArgse);(4)调用该函数,jihuoTreeLoaded事件voidOnTreeLoaded(objectsender,TreeArgse);(5)加载树voidLoadTree();该函数第一行,调用OnTreeLoading方法激活事件TreeLoading事件,如果事件
8、参数e的Handled值为true,不再执行LoadTree函数以下代码。在执行该函数加载完成树后,调用OnTreeLoaded方法激活事件TreeLoaded事件,如果事件参数e的Handled值为true,不再执行LoadTree函数以下代码作为中间件时,用户使用TreeLoading事件完成自定义加载,把事件参数的Hanle
此文档下载收益归作者所有