《java用户权限管理图例解释.docx》由会员分享,可在线阅读,更多相关《java用户权限管理图例解释.docx(11页珍藏版)》请在第壹文秘上搜索。
1、依据上面的分析,我们进行数据库结构设计,如下图:点击这里杳看权限管理系统数据表字段设计actionctionidftctonnwactIoncolunrActionvactiongroupgroupanagerftctioncolunrnft11Mastergroup-7ii/rasteridJcroupdrstrid24三ternaneICrwda3asteridnpz三vordbdttruen11cstbrtKdAydeptpositionpostion_descofficejhonenoblehghomenlnstridn三tmncrtdat为r能够进行良好的分析,我们将数据库结构图拆分
2、开来,三张实体表的作用已经很清楚,现在我们来看下两张映射表的作用。一权限映射表如卜图:首先,我们来了解一下权限映射表与管理Ifl表以与权限表之间的字段关联。/a解酬团需/gr篇祖8最r,storidasternnccretedteactioxmnectIoncolunnidp.IviewwodegroupnnpoupmEoCWridnftstrnrieCreatedate看图中的红圈,先看gorupid字段相关联,这种关联方式在实际数据库中的表现如下图:论表rjjroupBanager中的数楣如图中所示,管理组表中“超级管理员”的gr。UPid为1,那么权限映射表中groupid为1的权限也就
3、是“超级管理员”所拥有的权限。运用groupid字段关联,是为了查到个管理组能够执行的权限有哪些。但这些权限的具体信息却是action字段关联所杳询到的。action字段相关联在数据库中的表现如下图:,UF软1.H7;?in,表,林iongrG赢,中Ii)数据.QCtioiudIACtionnene.ctotJkidIactionIi1枚阳初始化安装尸而、(retup、2添Tt格理组ddnevroupI25ddnhonenobilhone-phonenftilnasterxdastrnncrtedteaztcrdj.00UPi)nsterid2nftst4rnttr4CreAtedate看图中
4、的红圈部分,先看groupid字段关联,这种关联方式在数据库中的表现如下图:如图,“超级管理员”组的gr。UPid为1,我们再看人员映射表,admin属于超级管理员组,而administrator属于超级管理员组,同时也属于管理员组。运用这种关联方式,是为了查到个管理组中的人员有堆。和上面一样,人员的具体信息是宛id字段(人员映射表中是masterid字段)关联查泡到的。id字段(人员映射表中是masterid字段)关联表现在数据库中的形式如下图:1R由表*astcrw中的效位董:一个人员可能同时属于多个“管理组”,如图中,administrator就同时属于两个“管理组”。所以,在人员映射表
5、中关于administrator的记录就会是两条。这种关联方式才杳询到管理组中人员的具体信息有哪些。综合起来,才可以知道,个管理组中的人员有谁,以与这个人员的具体信息。再结合上面谈到的权限表和权限映射表,就实现了需求中的“组”操作,如下图:X例限表二期嬲用需1XdaBidactOxmantctiitclunnd(action;vievodtJt7)oupii)nftzTrdnasternanecrAtdftt-DJgroupnwpoupnfonasUriddornscCrdy4_WsSrid;)nineopjna三tend2*nsPchordbkStruenaisexbirthdaydeptp
6、ositionposition_drcoffice-PhonOmobilehon-phoneneulASteridm三ternanecrAtdt其实,管理ta表中仅仅记录着组的基本信息,如名称,组id等等.至干个蛆中人员的具体信息,以与该组能够执行的权限的具体信息,都记录在人员表和权限表中。两张映射表才真正记录着一个组彳哪些人员,能够执行哪些权限。通过两张映射表的连接,三张实体表之间的交互才得以实现,从而完成了It求中提到的“蛆”操作我们再来看一下权限分栏表与权限表之间的交互。这两张表之间的字XC超限哀tioidacttinone段关联如卜图:4tiMwolVBXki)actoncolnnna
7、ne两张表运用了actioncolumnid字段相关联,这种关联方式在数据库中的表现如FS:i4_三。l的票抠.f:,崎我菽TtionCOIUai,中的数梃tionid1acViorn*权阳初始化安装声1ione1am1.:11.J商/m理权限2手及岩理殂1_O昔理权即345678手加合理洱执行设置管理组权阳设宜管理出权阳A设百N理殂权限删除管理阻查看管理员分妲1ii1H11敌脸理4个人设置9101112互看管理俎成员电百首理员权限设法昔理易秒F明设置管理员权B隹11M1131415手扬修理员添加Sl理员执行更改管理员密码fT2216更改营理员密码S217更助它理员密阻218更奴合即员信息21
8、9更改管理员信息1220更改管理员信息4221即除指定管理员2如图所示,通过这种关联方式,我们可以特别清楚的看到权限表中的权限属于哪个分栏。现在,数据库结构已经很清焚了,安排权限的功能以与“组”操作都已经实现。下面我们再来分析一下需求中提到的关于权限管理系统的重用性问题C为什么运用这种数据库设计方式搭建起来的系统可以重用呢? 三张实体表中记录着系筑中的三个确定性元案。“权限”,“组”和“人”。而这三种元素可以随意添加,彼此之间不受影响。无论是那种类型的业务系统,这三个确定性元素是不会变的,也就意味着结构上不会变,而变的仅仅是数据。 两张映射表中记录着三个元索之间的关系。但这些关系完全是人为创建
9、的,须要改变的时候,只是对数据库中的记隶进行操作,无需改动结构。 权限分栏表中记录着不端运用时显示的分栏无论是要添加分栏,修改分栏还是削减分栏,也只不过是操作记录而已。综上所述,这样设计数据库,系统是完全可以重用的,并且经受得住“变更”考验的。Mtt:此套系统的重点在于,三张实体表牢牢地抓住r系统的核心成分,而两张映射表完备地映射出三张实体表之间的交互。其难点在于,理解映射表的工作,它记录着关系,并且实现r“组”操作的概念C而系统总体的设计是本着可以在不同的MIS系统中“重用”来满意不同系统的功能权限设置。附录:权限管理系就到盘表的字段设计下面我们来看看权限管理系统的数据库表设计,共分为六张表
10、,如下图:action表:口action:表字号名称说明I人Vactond自动编号自*dactson11art*动作名称Qctigcolunnid数字动作分栏号(映射到actioncol5沃)action文本动作字符串vievnode文本是否可见action表中记录着系统中全部的动作,以与动作相关描述。actioncolumn表:actioncolumn表中记录若动作的分栏,系统运行时,左侧菜单栏供应了几块不同的功能,每一块就是一个分栏,每添加一个分栏,该表中的记录就会增加一条,相对应的,左侧菜单栏中也会新增机一个栏Cactiongroup表:actiongroup:表I-!l!0字段名称数凫壳里说明VId目增长Idaction动作名称(映射到acti。离)groupd动作所,星俎id(映射到rasSrgroUP表)n:trid创建者2114三ternarte创建者名称createdte日JWIq创蜘间actiongroup表记录回动作所在的组。groupmanager表:KroupBanaccr:表字跄g*groupdroupnseCroupinfot.sterid翻膜型数字数字文本_tr)ftzt4rnn下Createdate目增长Id首理组名称若避殂信息创建者id创建者名称组包胜时间Igroupmanager表I已隶着管理组的相关信息,每添加个管理组,这里的记录就会