`
aben328
  • 浏览: 1457069 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

开源组织机构权限管理系统(含EOS的AJAX应用框架实现)(更新时间071016)

    博客分类:
  • EOS
阅读更多

开源组织机构权限管理系统(含EOS的AJAX应用框架实现)(更新时间071016)


发布时间:2007-10-16 00:00:00 作者:goCom 出处:goComDevCenter 语言:中文 阅读次数:28186

=================================================
一、开源组织机构权限管理系统(fbframe)对使用者的重要性
=================================================

基于EOS实现的开源组织机构权限管理系统(fbframe)对使用者的重要性表现在如下几个方面:
一、对EOS的开发者而言,fbframe是一个非常好的应用系统学习案例:项目中的模型清晰,容易理解,代码质量较高,代码规范性较高,注释清楚,项目中涵盖了一个企业应用常见的技术点,如树的处理、菜单、登录、session处理、ajax等等
二、对应用项目开发组而言,fbframe是一个非常好的业务组件,可以大大减少系统开发的工作量:fbframe提供的组织机构权限管理模型通用性较高,功能比较强大;由于是非常规范的开源系统,功能扩展方便灵活
三、对基于fbframe实现应用系统的最终用户而言,fbframe是一个功能强大,高效稳定,易于维护和扩展的系统功能模块:fbframe具有较强的扩展性,对业务系统的权限模型有较强的兼容性;为未来统一所有业务系统的用户权限管理提供的可能

 

=================================================
二、系统背景
=================================================
在任何一个企业管理系统中,肯定需要一套基本的组织模型和权限管理的系统,能够完成机构、员工的维护,能够给员工进行授权和管理。在EOS3.X和EOS5.0/5.1产品中内置了一套权限管理和组织机构维护的系统,而且这套系统的角色、机构模型也是EOS工作流管理系统的基础。而这套系统是从EOS的早期版本开发继承过来的,因为早期EOS产品不完善,而这套程序开发人员比较多,代码比较凌乱,而在大多数的EOS应用系统中都可能或多或少的对程序进行修改,因为原来代码凌乱,修改的起来比较困难,而且原来的程序没有使用产品最新特性。因此普元服务部门决定将原来的程序进行重新编写,继承保留了原有产品的数据模型(即数据库基本不变,保证工作流仍然使用),使用EOS5.1的最新特性将产品重新编写了一套。这套也可以做为EOS产品开发的例程提供给初学者做为借鉴。


=================================================
三、系统介绍
=================================================
2.1 系统实现的基本业务模型
用户(EOSOperator):能够使用应用的唯一身份的人
角色(EOSRole):访问应用系统各种权限(包括功能、菜单和数据权限)的集合,一个用户可以有一或多个角色
机构(EOSORG_T_Organization):企业管理中企业分层的基本单元,在本系统中机构只支持单树模型一个企业只有一个根机构(总部),除开根机构其他机构只有一个父机构,可以有多个子机构
岗位(EOSORG_T_Position):一个企业的某个部门的职位(相当于在部门下有相同职能的员工的集合),它隶属于某个具体的部门,并且可以有一个或者多个员工在岗位上任职
员工(EOSORG_T_Employee):企业中的人员,一个人员属于一个机构,一个人员关联一个用户
业务功能(EOSBizCatalog):根据业务在系统中定义的业务操作,一个业务功能包含了多个展现逻辑多个业务逻辑、多个JSP页面
菜单(EOSMenu):在B/S应用中,可以进行点击操作的入口,菜单分为叶子菜单和非叶子菜单,一个非叶子菜单可以有多个叶子菜单和非叶子菜单
数据权限:是在对EOS的数据定义的实体(EOSEntity)进行“查询”,“修改”和“删除”操作时候的过滤条件,每个数据权限是针对一个数据实体定义的过滤条件,在条件中支持变量方式(采用XPATH)可以使用当前会话区中的数据进行过滤。只要使用EOS提供的对EOSEntity进行query、update和delete操作时候,数据权限将生效。一个角色有多个过滤条件,当一个用对某个EOSEntity访问操作时候,这个用户拥有某个角色的对这个EOSEntity的数据过滤条件的关系是AND,而这个用户的多个角色的过滤条件的关系是 OR。

2.1.1 岗位的特别说明
在大多数业务系统中,往往都需要将角色和部门进行关联,而且对于工作流的任务执行者是机构+岗位交集。即某项工作是某个部门下拥有某个角色的员工来完成。因此EOS的下个小版本(5.1.2)中对工作流进行了扩展一个新的对象:岗位(职位)。
在EOS工作流引擎中支持基于岗位的活动参与者方式,即在流程中某个活动可以直接发给某个岗位,这个岗位下的员工就可以领取这个任务去执行;除开岗位做为参与者新支持了角色+机构的方式。如设置流程活动的参与者时候,可以设置一个角色+机构变量(如rolea+$list/org/id),工作流引擎将根据机构id查询当前机构中关联了角色rolea的所有岗位,并且给岗位分配任务。

2.2 实现的功能和技术特性
1、机构管理:机构管理功能中集成了员工的管理,本功能特点是使用了动态tree实现了在一个界面中完成机构的维护、员工维护等功能,在员工的维护中完成了员工对应用户的维护。
2、菜单管理:完成应用系统菜单的维护功能,也是采用动态tree方式进行维护
3、逻辑管理:支持展现逻辑、业务逻辑和JSP页面权限校验的功能。
4、功能管理:采用DateCell技术实现功能的维护,实现了业务功能包含展现逻辑、业务逻辑和JSP页面的维护
5、数据权限管理:提供了数据过滤条件的维护功能,采用了多级级联select技术实现部分功能
6、角色管理:采用DateCell技术实现了角色的维护,完成角色-功能的维护,角色-用户的维护,角色-菜单维护,角色-数据权限维护
7、业务字典维护:实现了一个两级级联的DateCell维护功能。
8、元数据管理:针对某个表,可以通过对数据实体的配置,可以在不做任何开发的情况下,提供对该数据表的维护功能,而且可以结合角色,实现对表及列的操作权限控制

2.3 补充说明
1、机构管理员角色:实现了一个分级授权的机构管理员角色,当一个员工拥有“机构管理员”的角色时,他可以维护他所在机构以及下级机构的员工,并可以把“授权给他的角色”分配给他管辖的员工。在授权给一个员工的角色时候,如果授予了“机构管理员”角色,同样要授权给他“可以授权的角色”。
2、引用头文件:head.jsp 和tail.jsp文件可以在iframe的页面框架和非iframe的框架中进行切换。
3、隐含提交:ajax的XMLHTTP的功能支持(/fbtools/page/hiddensubmit.js),可以在IE浏览器页面中不刷新页面情况下,调用系统的业务逻辑获得系统数据并填写在html页面中框架功能支持,在这个系统中如动态tree的节点删除,两个select之间的切换均采用这种技术实现,具体请参考【系统概要设计】文档中的程序参考使用说明
4、多选页签:这个页签使用功能简单,并可以同时支持DIV和IFRAME两种页面效果,使用手册请参考【系统概要设计】文档
5、界面模板:为项目定制了一套模板,可以将fbframe.tpl导入到当前工作区中,使得开发的界面风格一致。
6、安全机制:采用了filter技术,可以对访问的所有展现逻辑和jsp进行权限检查。所有的安全设置都是在"逻辑管理"功能中设置,只有设置了需要权限校验的逻辑才验证权限,否则可以直接访问。在访问展现逻辑是,展现逻辑调用的业务逻辑和转向的jsp页面时,是不校验调用的业务逻辑和JSP页面的访问权限。只要展现逻辑有权访问,它调用业务逻辑和转向的jsp页面都可以。(特别例外:在weblogic中它的web容器比较特殊,展现逻辑定位的JSP页面也会通过filter进行安全检查,所以在weblogic环境配置校验时候需要注意)


=================================================
四、资源下载及版本更新内容
=================================================

A)下载地址:
>> 开源组织机构权限管理系统(含EOS的AJAX应用框架实现)打包下载(更新日期20070213) <<
提示:如果您的浏览器(或其他网络助手类插件)开启了禁止弹出式窗口功能,请暂时禁用,下载后再开启,以保证您可以正常下载,谢谢
相关链接: EOS的AJAX应用框架的说明
相关链接: 组织机构与权限管理系统开源论坛专题
使用中需要任何支持,请 点此链接

B)下载资源说明:
1、fbframe_install.rar资源包包含:
开源项目部署文件fbframe.epj
EOS源码工程fbframe.zip
开源项目的模版文件
开源项目的部署使用说明install.txt
开源项目的说明readme.txt
开源项目的cvs提取手册
2、fbframe_design.rar资源包包含:
EOS基础业务框架(fbframe)说明书:详细说明了该项目的功能、设计、技术特性等
数据库模型文件EOS-ORG.pdm
概念模型fbframe.cdm
3、fbframe_doc.rar资源包包含
通过EOS Studio自动生成的项目详细设计文档。

C)版本更新说明

V1.1.0R20071016
本次发布的版本没有添加新功能,主要修复了如下BUG,具体见fbframe_install中的fbframebugfixlist.xls:
1、当系统中的组织结构和用户很多时,在维护岗位时,进行删除某岗位对应的角色,系统奇慢无比;
2、 菜单管理中的左侧菜单树没有按displayOrder排序;
3、角色菜单设置中菜单树没有按displayOrder排序;
4、 outlookmenu,点击出错;
5、 机构人员删除以后跳转页面不正确;
6、 字典维护过滤值没有校验数据类型;
7、dropmenu导致页面闪烁问题;
8、数据字典的输入最大长度太小;
9、机构管理员不能分配机构管理员权限给其他用户时,修改用户信息有javascript错误提示的错误;
10、隐含提交没有处理SessionEntity,返回SessionEntity不起效果;
11、删除菜单时如果菜单没有menuSeq时会删除所有菜单的错误。

V1.1.0R20070213
1、规范了代码,增补了源码中的注释、调整了运算逻辑图元的排列方式
2、删除冗余菜单,去掉了非fbframe开源框架的菜单
3、清除Studio中显示的警告信息
4、在管理员角色菜单中增加了元数据维护测试的菜单。

V1.0.0R20061009
1、在业务字典维护功能中的datacell增加一个查询功能
2、当鼠标移到下列菜单中时候,为了避免select对象盖住菜单而隐藏窗口的select对象的问题,不用隐藏select对象
3、角色维护功能中增加查询功能
4、功能管理中增加查询功能
5、优化员工的增加、修改和查询功能
6、为orgSelect增加根据机构类型过滤的属性(orgTypeId)过滤方式采用in 的sql语句方式
7、修改tab不能和其他tag嵌套的问题
8、优化逻辑管理的功能
9、增加一个元数据管理的功能。
 

=================================================
五、升级原来系统的注意事项
=================================================

1、原来的组织机构模型中,对orgLevel的层次没有正确维护,如果原有的机构树中已经建立好,需要手工修改一下机构表中的orgLevel的字段信息,在原来模型中所有的orgLevel字段值都是"1"

2、如果访问到EOS5.1.1 server环境中缺省提供的页面时候菜单会变成原来菜单样子,如果要将原来的页面的菜单风格统一请参照/fbrole/main/dropmenu/top.jsp文件修改server上缺省提供了hciHead.jsp等文件就可以将原来提供的页面菜单换成统一的菜单风格。需要修改的jsp页面有:

/internet/hciHead.jsp

/internet/BNOM/hciHead.jsp

/internet/eosapp/hciHead.jsp

/internet/WFCOMMON/wfHciHead.jsp

 

=================================================
六、开源权限管理项目典型截图
=================================================

 

组织机构管理界面

角色管理界面

菜单管理界面

业务逻辑示例

页面流转逻辑(展现逻辑)示例


评论 查看全部评论
 
liuxingzhou 于 2007-10-31
谢谢
 
iceboy23 于 2007-10-24
tyuryt
 
wm8466 于 2007-08-31
ddddd
 
mylovechangchun 于 2007-08-22
mylovechangchun
 
whtc1015 于 2007-08-01
请在此处输入评论内容

 

 

声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。
分享到:
评论

相关推荐

    Winform通用框架之权限管理系统界面

    Winform通用框架之权限管理系统---------菜单,开发界面。 在csdn一篇博客中看到文章Winform通用框架之权限管理系统,但是只有文章没有源码就是耍流氓。于是自己写了出来,可用于所有管理系统的开发框架。 软件的...

    EOS6 ABFRAMEV1.0组织开源框架

    "EOS6 ABFRAMEV1.0组织开源框架"是一个针对EOS6平台的最新开源项目,旨在为开发者提供一套高效、可扩展的组织架构管理框架。这个框架,即ABFRAMEV1.0,允许开发人员快速构建分布式应用,尤其是那些需要处理复杂组织...

    java ssh框架权限管理系统

    Java SSH框架权限管理系统是一款基于Java技术的,使用Struts、Spring和Hibernate三个开源框架整合开发的权限管理解决方案。SSH框架是Java Web开发中常见的“三位一体”框架,它们分别是Struts负责视图层,Spring处理...

    c# winform 权限管理框架

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发...通过使用此框架,开发人员可以快速构建具有强大权限管理功能的应用程序,同时确保系统的稳定性和安全性。开源的特性使得它更加易于定制,适应各种企业场景。

    10款开源网上教学&课程管理系统

    随着远程教育的普及,越来越多的教育机构和个人开始关注网上教学与课程管理系统的开发和应用。下面我们将对10款开源网上教学&课程管理系统进行介绍。 Wordcircle Wordcircle是一个课程管理工具,旨在解决老师与...

    一种开源业务系统框架winform源码

    【标题】"一种开源业务系统框架winform源码"揭示了这是一个基于Windows Forms(Winform)的开源软件开发框架,专用于构建业务系统。Winform是.NET Framework中的一个UI库,用于创建桌面应用程序,它提供了丰富的用户...

    Silverlight权限系统开发开源框架

    本开源框架专注于权限系统的开发,为开发者提供了一套完整的解决方案,以实现高效、安全的用户权限管理。 权限系统是任何企业级应用的核心组成部分,它允许管理员控制不同用户或角色对系统资源的访问级别。在...

    简易java框架开源订销管理系统

    系统主要实现的功能有订单录入、打印、销售汇总、原料管理、客户管理、生产配料计算、报表打印、汇总、系统数据管理及维护等功能,是一个使用非常简单的编码方式实现的Web开源应用系统。  系统采用面向对象的设计...

    基于Flask的后台权限管理系统设计源码

    这是一个基于Flask的后台权限管理系统设计,使用CSS、HTML、JavaScript、Python和PHP语言开发,包含2432个文件。主要文件类型包括1351个PNG图片文件、307个CSS文件、236个HTML文件、236个JavaScript文件、71个GIF...

    Java 开源用户管理系统

    在技术栈方面,Java开源用户管理系统可能使用了Spring框架,它提供了依赖注入、AOP(面向切面编程)以及Web应用开发的全面解决方案。数据库连接可能使用了JDBC或者ORM(对象关系映射)框架如Hibernate或MyBatis,...

    基于C# +ASP.NET 实现的开源文档管理门户管理系统源代码

    "基于C# +ASP.NET 实现的开源文档管理门户管理系统源代码"这一标题揭示了我们要讨论的核心技术栈和应用领域。C#是微软开发的一种面向对象的编程语言,常用于构建Windows平台上的应用程序,尤其是.NET框架下的项目。...

    开源权限管理java源码下载

    【开源权限管理java源码下载】是一个针对Java开发者的资源,它提供了一套完整的权限管理系统源代码,旨在帮助开发者快速构建具有权限控制功能的应用。在Java领域,权限管理是企业级应用不可或缺的一部分,用于保障...

    基于.Net6.0的权限管理及快速开发框架,前后端分离.zip

    基于.Net6.0的权限管理及快速开发框架,前后端分离,核心模块包括:组织机构、角色用户、权限授权、多系统、多应用管理、定时任务、业务单据编码规则、代码生成器等,整合应用最新技术包括Asp.NetCore MVC、EF、...

    java开源的文件管理系统

    Java开源文件管理系统是一种基于Java技术构建的用于存储、管理和检索文件的应用程序。它提供了一种高效、安全且灵活的方式来组织和访问大量的数据。在本文中,我们将深入探讨Java开源文件管理系统的相关知识点,包括...

    基于asp.net+Web+mvc4.0 EasyUI 最新 权限管理 开源 MES建材管理系统源码

    开源 MES建材管理系统源码”指的是一个开源的MES(Manufacturing Execution System)建材管理系统,该系统构建于.NET技术栈上,具体使用了ASP.NET、Web技术和MVC4.0框架,并结合了EasyUI进行界面设计和权限管理。...

    WCP知识管理系统 开源知识库管理系统

    WCP 是一套BS架构的开源知识管理系统、知识库系统。它能提供团队知识库建设的一整套功能,从知识创建、知识更新、知识推送到知识评价、知识激励、知识统计以及基于以上功能权限控制等功能。 WCP开源版本采用...

    开源任务管理系统

    PHP开源的任务/项目管理系统,时间跟踪和协作开发应用程序。它拥有一个流行的Ajax操作界面,在每个项目上都可以有用户和客户。

    毕设-简易java开源订销管理系统

    毕设-简易java开源订销管理系统 该系统是一个使用Java语言开发,以国内开源Web MVC框架EasyJWeb作系统引擎的Java Web应用系统.系统主要实现的功能有订单录入、打印,销售汇总、原料管理、客户管理、生产配料计算、...

    固定资产管理系统(开源)

    《C#实现的开源固定资产管理系统详解》 固定资产管理系统是企业日常运营中不可或缺的一部分,它能够有效地管理和跟踪组织内的资产,确保资产的有效利用和减少浪费。本文将深入探讨一个基于C#语言开发的开源固定资产...

Global site tag (gtag.js) - Google Analytics