权限设计方案

上传人:z****2 文档编号:202793138 上传时间:2023-04-23 格式:DOCX 页数:14 大小:142.34KB
收藏 版权申诉 举报 下载
权限设计方案_第1页
第1页 / 共14页
权限设计方案_第2页
第2页 / 共14页
权限设计方案_第3页
第3页 / 共14页
资源描述:

《权限设计方案》由会员分享,可在线阅读,更多相关《权限设计方案(14页珍藏版)》请在装配图网上搜索。

1、权限管理设计一 博客分类: 设计设计模式数据结构应用程序权限设计我们在开发系统的时候,经常会遇到系统需要权限控制,而权限的控制程度不同有不同的设1. 基于角色的权限设计这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,所以微软就设 计出这种方案的通用做法,这种方案对于每一个操作不做控制,只是在程序中根据角色 对是否具有操作的权限进行控制;这里我们就不做详述User3=-rx?UserRolecoORoleUserIDUs erIDRolelBUEfiTN:kJTi 总RilsIDKilt:N=dTi2. 基于操作的权限设计这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作

2、的权限也在数据库中有记录,结构如下:User讦3UserAction活ActionUserIDUserIDActionlD1J zerN:iiTi eActiunlDEol eNam e但是如果直接使用上面的设计,会导致数据库中的UserAction这张表数据量非常大,所 以我们需要进一步设计提高效率,请看方案33.基于角色和操作的权限设计UserRoleActi onUserIDUz erN:iineID辺 i 已Hti ltlIDActi i:irJ?:-LJTie1J.EUserRoleRoleActionITsrlDRolelD9RolelDAct i :irilD如上图所示,我们在添

3、加了 Role,和RoleAction表,这样子就可以减少UserAction中的 记录,并且使设计更灵活一点。但是这种方案在用户需求的考验之下也可能显得不够灵活够用,例如当用户要求临时给 某位普通员工某操作权限时,我们就需要新增加一种新的用户角色,但是这种用户角色 是不必要的,因为它只是一种临时的角色,如果添加一种角色还需要在收回此普通员工 权限时删除此角色,我们需要设计一种更合适的结构来满足用户对权限设置的要求。4.2,3组合的权限设计,其结构如下:UserIlTserlDl.rserlLinieUserActionUserIDActionlDHasFerfTiissirLVRoleIDR

4、ol hH:=uti e匚aActionAntiorilllUserRaleRc1 eActionUserIDRcl&II)RolelEActi otlIII我们可以看到在上图中添加了 UserAction表,使用此表来添加特殊用户的权限,改表中有一个字段HasPermission可以决定用户是否有某种操作的权限,改表中记录的权限的 优先级要高于UserRole中记录的用户权限。这样在应用程序中我们就需要通过UserRole 和UserAction两张表中的记录判断权限。到这儿呢并不算完,有可能用户还会给出这样的需求:对于某一种action所操作的对象 某一些记录会有权限,而对于其他的记录没有

5、权限,比如说一个内容管理系统,对于某 一些频道某个用户有修改的权限,而对于另外一些频道没有修改的权限,这时候我们需 要设计更复杂的权限机制。5.对于同一种实体(资源)用户可以对一部分记录有权限,而对于另外一些记录没有权限的权限设计:UserJirSerID-3.UserActionChannelUserIDXc ti ijrJDChwnellDHazFeriTiiiEi 口-ActionActi oiJIiActi i:iTiW:kJTi 总Res oixrc&T 丁工j 已UserActionContenUserIDActi oiJDC 口 七 eiLtlDHasFermi wwionChL

6、annel$IDNani eIles crip ti ur对于这样的需求我们就需要对每一种不同的资源创建一张权限表,在上图中对Content 和Channel两种资源分别创建了 UserActionContent和UserActionChannel表用来定义用户 对某条记录是否有权限;这种设计是可以满足用户需求的但是不是很经济, UserActionChannel和UserActionContent中的记录会很多,而在实际的应用中并非需要记 录所有的记录的权限信息,有时候可能只是一种规则,比如说对于根Channel什么级别 的人有权限;这时候呢我们就可以定义些规则来判断用户权限,下面就是这种设

7、计。6.涉及资源,权限和规则的权限设计ChannelIDW:jhi eIl 已scripti unActionRuleIDRuLeTypa AsEemTilyi.EUserVserlD l.rEerff:inieActionIDActi urill:ijrie jLbjECim-c&TjTit!EulelD宴现业茅糸统中的用广衩限菅理-设计篇眺系剤E曲垠尢恥 何.吏亘的重更c思忌烷园力貝有垃坯-启円总所J訪训户色取限栓yi;迪;二 喜F端字叽或垃廿喜厂端诃耳芻萃瑞测丈烏,而日阳口,文I临器乍隹一台计亘tn部-吕罕的:扌匚臭R律汴f完笔 的权限檢测那么一t 非法用户“很可能就能通过浏览雪轻易仿问

8、到B/S系统中的所有功能-因此BJS业务系统都雾 自有一亍或备于极限条烧来刁现丁门出限检測,匸艺;匸芳弓.兰比尸口丄止韦兰法的1吏比|=!掛如用,血龙刊空三饪 援权的非拥户將会将瀏丁彻鹿的拒之厂师”、下面就让我n起了解-下如何邊计可次满足朮部;如统中对 用户功能取限控制的权限系纯。霁求臨诛不同职盍的人貝对d系统操件的较限应谨足不同的。庞奔抽吐斧系统,这昱杲基布的I龍:可趴对驾”逆行視限分配、对二一个尢企吐的辻茅热统丸说,如未史求首理貝为具丁.月工逐一配糸炖換伍 权眼的话,是件丽寸且不祸方便的事情:所儿 系蜿中就提出了对组遇行操作的桩念,将权限一致的人员编 入同爼.熟后对该组进疔权限分配*权限管

9、理糸统应该是Pl扩展的” E压谆吋J-加入剑吐血走脅极限言理功主的芋烦H-殖像是组4讦的nJ Jj忻嘲甘重肛而二启县F点-夏管耳免気爺列乍管琏盼胳育新口卷:雋足业务系領中的功能釈限.恃统立夸不猊中.亡有吉俣种柯阳菅逗,巨一壬柯闵的菅逗.而石外一 种则是资源取限储理,在不同系统之间,功能权限是可以重用的,而资源权限则不能.关 T il-昔知悶笳砸於利卜编秩担空:,在设计$段系细殳计人冃无灯考盍程主吉枸葩设计,而是乩穩呂郊鲨恳 軌抵庄结口丿丨冶上丰:十 切歆,数抵臣加译】一亍谓卫#圭戛:斤说启切糅忙产槪笥 汗杲禦举取児莹薜宗 统的重用性,都在于数將庫的设计我们冗束分折一I烹話阳结苗;action

10、l?AT简称血“权PR表”:. gorupmanager 決下简称加背理组表匸. U.p.masler 以下简称为认员表7 是三张实(棒,亡们依次记录看液殴的信息,窄理组的信息和人员的信息。如下而和1超巫管遅员史新一般用戶au茯航叢gm謬弭融r三囚+L匡:乞三卜盍二间的長系是知必的:一卜綬限可范站思二少、营輕匕一1菅赶爼屮也羽汩刊己吕各小权职.同捽代道理. I.VP TF同时蒔于芬丫菅理爼,丽一卜菅珏距中也M能同时二含芬丫“尸! K.三四五张奎王111硃#添删更超逛巷連员 管理見 一規宇户虫于遠三张表之就在看多对多的关系,那么它n陀间的交互,最好使用另外材张表釆总応而这两张表起看 映列的作用,

11、井别是qciiongroue表(以下简护权限映射表J -mastergroup (以下简称“人员映射 表T ,甬巷映了权限表与存理组表N间的交互。后者映射了人员表与管理组表N间的交互。T:另外、还需袭一张表来控制系统运行时左侧朶里中的叔眼分栏.也就罡权眼分栏衬,如T囹:ac祝隔1附丽纽歳”添那更新刊徐 taatss?刊诊管吃员 % 用 Q超级笛理员一绘用户张三超公管湮員 张三爸湮员李囚-超盘管浬貝 李囚爸獲员 王五-一躱用,口权琅分栏根据上面的分析.我ng行数据庄结枸设计,如下品巨击次旦杏看权限箜玮豕密和握表宇段谄计为了御縫行良好的分析,我们将数据俸结构图拆分开来,三张实体表的作用已经很清帆现

12、在我们来看一下 两张映射表的作用。一帜限映射表如下图:首先,我们来了解一下权限映射表与管理组諷儿艮权限表之间的宇段关联。actiongroupactionactioncolUBnia action gro徑:astergroup匸 Rxqpidj gr oxjpnsoii grojpinfomg erid*mst erm.的ereatedateidmasterid rane groupi d mas t er i(2 mas ternfne cr e&teitewasteraamc p&saYord bdotetruanmabirtKdA/ dept pcs i tiori positioa_

13、desc offi ce_phcne nobile tiome_phone snail nosieridr4stemanc crcatcdtc看图中的红圈,先看goe与段相关更 这种关联方式在实际数据直中的表现如下劭laclioaidacii 025 eacii one oIxutxu di on*ivi Aumodoctionra-cup: d mftctdridas terrane c合t血togr*xqpiIj) groijpnama grojpi ufo 呃毗er id masternane ereatedate如團中所示,管湮组表中嚨级管理员:的grwpid为S那么权限映射表中gro

14、upid为的权限也就是逛级营理 曰”所拥有的权限。快用grouped段关联是为了查到一个背理组能够执行的权限有哪些但这些权限的详纸信息占足acuon字段关联所查询到的。action相关联在数拐庄中的耒现如下厨:iungxuu?中的数IE位蚩是Usqln腿表roupaunag cT?中的数据idaction1荻洌即!_1group idj1setupiI丁超级菩理员2a(ldiieygroupi23aidneY p- oup_exi3-般用户4setgrQUpinpi5se tgroupiiip_iii:62s e I group ino_DiJ 117delgroupeKi通过这种关臨 才查询

15、到权眼映射表之中那些权限的详细信自、,综合起来,我们就知适了?管湮组可以执 行的权限有哪些,以及这些权限的详细信息罡什么。或许你会问,为什么不使用octionid宇段彳朕联呢?因为;収限表中的d字段在经过易次的数据庫揑作之后可自绘岌生更吐取限映射表中仅仅记录看一个管理组可以执行的权限。一旦权限表中的id更改,那么权脱映射表中财记录也就更改了。 一个肯湮组可以执行的权限势必将出I器这是非常不弟型的。考虑到上面的情况,所以应该使用acuon字段相关联因沏:在权限表E id可能发生变出而actio谆段却是在任何情况下也不可能发生变化的。衩限映射表中记录的action字段也就不会娈。哥里组可以执行的权

16、限颠不会出了。二人员映射表如T:我们耒了解一下人员映第志与管理第表臥及人目志之间的字段关联,如下便: A屍表erDi 1)H5Cgroupnanouvtar i d _grojpi noPO5 5V Ol- 1mactAri dIdatemftctarnomanxtorid?truensecfQQtadatonztcrnsesexcrcotedotelirthda/dept fosilion fosi tion_desc office_plione nobile homejphone email nasteri 1 nastemane createdate箱表 乜呼巳翌7冲的做据看團中的红圈却

17、分,先看groupid宇段关联,这种关匪方式在数据库中的表现如下图:A1 ?r oupnn c昶级首盘15nan aadnm adninistratcr3一般用戶adnini stratcr衞农 troupBanag如團“翅级管理员组的gpupi助1,我们再看人员映射表,adminl于超级言理员组,administrator 超级管理员组,同吋也属于管理员组。使用该种关莊方式,是対了吉到一个管理组中的人员有锹 和上面一样,人员的详细信怠是室d字段(人员映 射表中是masId字段)关联查询到的。icJ?段人员映肘表中是masters宇段关联表现在数克库中的形式如下图:丝表agorggg?中的叛陈

18、 位逅是小 缢丢 炯西刁 中的效诺,位畫:一个人员可能同时届于多个菅埋组S如冈中,3dm nistratorfj!同时届于两个管理组爲所人 在人员映肘表中并于adminiStratorJiE录就会定两条vi Avnodooclioxiidacti oiinane actioncoL-onrid这种关联方式才查询到营遅组中人员的详信息有哪些。综合起来,才可以知道一个官建组中的人员有谁,以 及这个人员的详细信忌。再结合上面谈到的权限表和权限映第未,就实现了零朮中的组操作,如下風passiYor d bdate tnienanejrthlay ipt positi on position_desc

19、officejhone nobile hoeajhga dnil nstcri d nas ternnie ere ate late苴实,管理组未中枚仅记录着组白違本信息,如名称.组idWo至于一个组中人目的详细信息.以及该组能 够执行的权限的译细信息,都记录在人员表和权限表中。两张映対表才直正记录看一个组有哪些人员,能够执行 那墜衩限。通过两张映射表的衔接,三张实体表N间的交互才得以实珮 从Ifil完成了需求屮提剑的哟墳作。我巾请来1-T权眼分栏表与权限表之间白咬互。这两张表之间白存段关麻如下图:aci&iR 表:actionidactionnanQ iXctioncolununJj act

20、ion vi cwnode: ti (mcvluuLid 二actioncoliiffcrinane中的数据acti Did d1 ac t i onnan e1 旷“ oiLColuTirti d 11actioucclvmnid1 actioncoLnftBTiTi1祓甩初皓丸安装nu奁幼莒理取陀2翻JPT理沮ic幻3添加管理蛆艾行i3新国昔理4设MS1理爼祝甩i4个人谡百5设旨营理俎祓限!i6设這管理沮視茯i7出除遐畑i6吏看管理员甘组i9吉看管理俎成i10左査首世昂祓PPi11设體理员稅限i12设宜莒理员殺i13制借理贯T14乔加首理序执行215更改莒垃员密吧216更改笞理员密玛21T

21、更改濮M巒玛Z18更改営理负住启219笔改管埋员信耳223更改昶员信豆221础附睨管理员Z如酗示,通过i种关联方式,我们可U非當酒晰的看到权限表中的取限属于哪个分栏。现也 葩据库结掏已经很淸时了,分配权限的躺眇及绍操作ill已经矣观。下面我CR来分祈一下需求中提两张表使用了actioncolurmid字段相芫联,这种关联方式在数抿偉中的表观如下因: 険表芒云包中的数雄,位:蓋是ttsqlnoahsaj表 花羔红neo壬ll的工千灯KBIS玄龙曲击 田WlElSfi .方件么安用込押郊掏车设计力式替建起米旳糸既口以車庄呢丁三张实体表屮记录看系统屮的三个决定性元素 “权限八组和人J而这三种元亲可以

22、任意潯加彼此之 间不受影1向。无论是那种艾型的业务系堀,这三个决走性元素是不合变的,也新意味看结枸上不会变,而变 的仅仅是魏据。两张映射表中记录着三个元素之间的关系。但这些关系主全是人为创建的,需芸衣化的时假,只是对数抿 库中的记录进行操作7无需改动结构。权限升栏表中记录着系统使用时显示的外拦。无论是妾添加分栏,修改分栏还是巫少分栏,也只不过是操 作记录而已。综上所述,翅羊设计数据库,系统是完全可以重用的,并且经爱得住“变更”考验的。此套系统的重电在干,三张实体表年牢地抓住了系统的核心成分,而两张映射表完美地映射出三张实体表之 间的交互。苴难点在于,理薛映射表的工作,它记录看关系,笄且实现了呦

23、操作的概念。而系统总优的设计是本 看可以在不同的切s系统中晅用来满足不同系统的功能权限iSSo附录二权限管埋系统数据表的字段设计下面我们来看看权限管理系统的数据库表设计,共分为六张表,如下图_ action 二表as孚綾名称I数据类塑 I说宙aciion 表:iicti omd ncti ornano目动漏号$cti oncolunni d acti on目増檢id动作名称动隹分栏吕(映射到actioncolunu?) 动作宇符韦是古可见action中记录若系统中所有的动作,以及动作相关插迖。aciioncolumr:二 acrtioncoluBn :未二回因手於名称1憑据婪乱1说明ISy t

24、igcoliimni 以Racti one oliimnrvs c站动作分栏名称_ actiongronp :表EQ5aciiongroup表:字段名称idact: ctimasterid iTiasternaTie ereatedate创連者名称自哄d动作名称(映射刘xti。議)动作所届11 id(皱射到Tmtzgroup羡) 也建者述actioncoiumn中记录看训乍的分栏系统运彳旳心左狈操单栏提但了几块不同的功做 毎一块就是一个分 栏,毎瀛L个分栏,该表中的记录就会増抽一条相对应的,左侧菜里栏中也会新増机一个栏。匚回因actionaroup表记录看动作所在的组。uJ gxoupBwae

25、r :表groupid zrewnane包建若名称groupmanager: crctedate日期/収间组包逹时间Igroupmanage谍记录若言理组的相关信息,鸳添加一个言涅组,运里的记录就令増加一条。旦国nosieridnsemastergroup:groupj d noater id2 noslernane cr caledate字字本宁宁$親 您数丈数数文日目增长id管浬员记(映射aizg克) 笞浬员名諒莒迎织讨(映射到旷。些蔻)修改者讨修改者S前修iW可二 aatergroup :表段怎称却充艾塑说明nestergroup表记录着百理闪所仕的管理组,由于一名管理刃可冃洞同时Jf

26、T另个组,所以i亥表中关干某一名 営理貝的记录可自洎务条。_a?ter :表master表:字E;艺称idris=me passvord bdatje t niename sex birthday daptpost 11 on post ii on_dcc oi 2hon。 mobile hcm& jhona email mastridrratmgQ croat c datala说圉 自雌id 皆露丘名称 皆理丘童玛 创建前间 宜父姓名 性别 生日 所匡部门职芻职芻说明 办公至电话 手机电子邮件 创建者诃 创建者名称 创建曰閹msste表记录看所有管浬员的信息,每添加一个管理员,该表就会堀抑一条记录。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!