版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BOS物流管理系统第9天权限系统设计今天内容安排:1、权限控制几种方式URL级别权限控制(粗粒度权限控制)方法级别权限控制(细粒度权限控制)页面中显示的权限控制,使用自定义标签2、权限系统的数据表设计3、ApacheShiro框架运行原理4、shiro系统集成(采用Spring整合shiro方式集成)5、自定义ShiroRealm,实现认证功能(基于数据库完成)权限系统的数据表如何设计面试重点!!!表设计主要几个实体:用户、角色、权限用户user:访问系统的人权限function:系统某个功能允许访问,对应的权限(例如:取派员查询权限、区域导入权限…)角色role:角色是权限的一个集合,方便用户授权惰一个用户职对应多个如角色,一腔种角色可惩以授予多个别用户==裹=多对角多愈一个角色制包含多个归权限,一霜个权限可抢以属于多沫个角色=纷==多对慎多米设计角色表轿、权限表央都具有i央d(编号旋生成)、窜name出(名称下中文)、棚code(封关键字编押程使用英屈文)、脉descr贿iptio测n(描述居)械喘权限表为什榆么要这么设既计?姑目的为了实症现系统动流态菜单,沿添加催菜单的路径威、艰是否需要生持成菜单偷、么菜单优先级壁基(保证菜单感显示顺序)越、哈父权限编侧号爪(生成菜亡单父节点割)傅任务二:背创建权限数秒据表、生成题实体类樱根据PDM咐导出SQ铲L语句投auth_做funct储ion权窑限表况auth_老role谈角色表杜role_卸funct泻ion角风色权限关系陷表惕user_南role悄用户角色关厅系表侍生成实体类妈,使用hi登berna春te3-m摘aven-剃plugi汗n插件阶修改sr徐c/mai驱n/res券ource饰s/rev覆eng.x赌ml凶替换之前亡domai浊n.use之r下的Us范er实体类收绵实体类和表薄设计完成!波任务三:随Apach伤eShi桌ro权限码控制需Shir界o简介俭权限控制企喜业都是采用乘什么技术开刷发的?盼自定义权限练控制实现据(URL蛋级别Fi萝lter实浇现、方法倍级别自定权义注解S旁pring镇AOP抽反射实现,猾页面显示袜自定义标添签实现)竿Sprin抓gSec传urity坏安全框架理偏拒缺点:使用孩复杂、S坚pring喇官方项目烧使用Ap片ache落Shiro泊进行权限羞控制户Apach么eShi侄ro比较晚新,很多栏企业了解到轮shiro被因为s张pring让side返项目挎什么是Ap限ache筹Shiro遥?对巡Apach琴eShi彻ro可以毫不依赖任何灿技术使用,馅通常在企撇业中和Sp根ring左结合使用德在项目导仪入shir扬o滔歌Authe仪ntica偿tion:美认证壮用舱户登录嘴广Autho电rizat王ion:枯授权-桐役权限管理懒项目导入s绪hiro贿,使用ma价ven坐标早方式导入割俊<shir标o.ver咽sion>余狮</shi鼠ro.ve书rsion慰>丧便兵宫<depe汗ndenc滨y>再缸各前<grou潜pId>o跑rg.ap杰ache.卸shiro收</gro电upId>永购狮介<arti倡factI妹d>shi颈ro-al犹l</ar烛tifac愈tId>掉绿指玻<vers猴ion>$进{shir疾o.ver皮sion}浸</ver舰sion>腿亮猴</dep品enden肝cy>腔Shir涨o原理简站介蒜学习shi愁ro,只区需要看规范假就ok了颤“楚Apach嚷e_Shi膏ro_re品feren似ce(中文药版).pd赏f短”核心;史限四大核心内鄙容:认证因、授权、会冲话管理、预加密号S洒hiro蹄是如何进行臣权限控制的魂?柔耍应用代码拳绢调用Sub阿ject轿(shir馋o的Sub罩ject宜就代表当前笛登陆用户)道控制权限轰凉Sub闭ject色在shir柿o框架内部润调用S捆hiro常Secur坊ityMa僻nager逼安全管理雾器敢--安全猾管理器调用注Real禁m(程序锋和安全数据波连接器)营通过以上分锄析,结论:颗吴程序员使用塌shiro来只需要午1、应用栗程序代码术调用Sub陶ject祸2、定版义编写Re低alm连接渡安全数据呜Shir怕o整合B种OS项目唉,进行UR蹄L权限控制高穴S希hiro虽懒然可以单独浊使用,但是袍企业现在使傅用最多还是劣spri棵ng+运shiro粱方式!冶纷参考零“炸shiro乓安全框架芳--最好的炕中文配置文尼档.pdf吃”镇第一步:各URL级榆别权限控制破,配置F纲ilter文(出web.x俊ml眼)并<!--雪权限控制倍Filte讲r-->挤萄<!--撇shiro柴secu涨rity走filte材r-->萄壳<filt跃er>守置艘<!--泄这里的f兼ilter紫-name都要和s适pring瞒的ap除plica冒tionC乓ontex雅t-shi情ro.xm唱l里的技org.a灾pache它.shir写o.spr斑ing.w义eb.Sh巷iroFi朴lterF腥actor咬yBean铸咱逝碍冲的bea俱nnam骆e相同捉-->餐泪饼<filt央er-na迅me>sh延iroSe性curit厘yFilt该er</f赶ilter驱-name筐>鲜钥观<filt赵er-cl伶ass>o吹rg.sp管ringf占ramew乒ork.w溜eb.fi烟lter.贡Deleg种ating划Filte珍rProx项y</fi碰lter-轻class阁>哈漆芬<init症-para姓m>晚盘国覆<para蠢m-nam厌e>tar距getFi爬lterL范ifecy觉cle</仗param火-name速>科香岂誓<para湿m-val忠ue>tr使ue</p见aram-问value老>桌翻悠</ini肉t-par拒am>析辨</fil校ter>采摄<filt念er-ma洁pping社>目竟恰<filt意er-na精me>sh帅iroSe艺curit访yFilt肚er</f愁ilter霉-name风>用苗艺<url-夜patte况rn>/*计</url痰-patt妖ern>司肿</fil透ter-m服appin遣g>绘绞畏这个Fil诞ter是穗spri喝ng提供龟,Dele拆gatio农nFilt以erPro浸xy是代乡理Filt诱er摔(会自动找壁和<fi秘lter-拣name>结同名的学<bean耳>对象悠)珠第二步:旨在appl腊icati弹onCon文text.叙xml配溜置shir引o的Fi蜘lter菠<bean宏>湾应配置shi引roFil虾ter后,由可以应用筹10种过滤岔规则鸡湿配置shi赌roFil脊ter其障实是一个过剑滤器链,含毯有10个F怜ilter妻域常用规则驰:哑皱anon斯匿名访问结(不需要登亏录)延紧authc册认证访问携需要登录惩答磨perms弯权限控制肝访问需要掘权限烦衰roles球角色控制巡访问需要搬角色栽user坐用户控制访炭问需要特应定用户才能畅访问汽<!--硬shiro惑权限控制头-->总启<bean早id="害shiro娘Secur排ityFi箱lter"徐clas皂s="or沸g.apa症che.s辈hiro.透sprin番g.web卡.Shir絮oFilt收erFac功toryB乱ean">势垒陷<!--舌shiro桌的核心安椅全接口-仔->传持届<prop看erty仔name=矿"secu税rityM扒anage少r"re和f="se末curit胆yMana灭ger"衔/>府云佳<!--谷要求登录时载的链接-示-如>怀姜聚<prop害erty律name=梳"logi估nUrl"稍valu弦e="/l缺ogin.稍jsp"党/>片捆闷<!--举登陆成功后鸟要跳转的连宿接-->太偶酱<prop侍erty塘name=衔"succ众essUr桂l"va丧lue="帆/inde勇x.jsp苏"/>近圾膜<!--活权限不足,忌跳转路径傻-->躁葵宵<prop尺erty控name=百"unau摩thori齐zedUr教l"va鸡lue="使/unau散thori绕zed.j凉sp"/源>项芬但<!--吨shiro皆连接约束至配置--芹>支狼惑<!--赔URL控制催规则路瞎径=规则堂-->灯南哗<prop遮erty肤name=迎"filt篮erCha猴inDef屠initi护ons">栗级炕浪<valu裙e>巧份宵牙演/logi村n.jsp环=an众on施振遥贼漏/vali栏datec午ode.j感sp=掉anon肢叮想欣淹/css/年**=文anon罢炎闲控淡/js/*末*=a夜non晃嫂盐捐惠/imag皮es/**更=an猴on路警管辰出/user尘_logi萌n.act以ion=制anon伯床棍趴暮/page糊_base窃_staf絮f.act村ion=鸡perm抚s["st歪aff"]呜表示恩访问该资源拖必须要有s债taff权班限可览吸薯您/page基_base堆_regi厨on.ac荡tion通=rol灌es["b规ase"]艇表示猴访问该资源把必须要有b找ase角色卧虹谨揉都/**=士auth由c祥//必扣须要登陆可督以访问资源格荒桨阻</val鸽ue>雀云肆</pro酬perty嫁>员计</bea兆n>耐岁<!--料安全管理器倾-->煎布<bean爽id="住secur逗ityMa阀nager落"林街委class迎="org篮.apac矿he.sh嗽iro.w茧eb.mg离t.Def何aultW尽ebSec矛urity果Manag介er">鄙筒慎<!--堤在安全管理扫器,应该注动入Rea搞lm连接森安全数据犯-->填型</bea勿n>命url级别颤认证管理完记成!完成登陆克油编写率Realm杆实现用户木身份帅认证(登录腰)谈传统登录逻雅辑:泪隆用户输入用扒户名和密码咬杠传递数据警库查询-妖返哲回user劣麻判断如果剪user不捷为null臣,登录成苹功,将u饮ser加入矿sessi删on--梨如困果use呜r为nul肤l,调回套登录页面荣采用shi举ro完成栋认证代码实剃现!迈S员hiro实漠现登录逻辑买用户输入用吹户名和密码夺乎应用程序佩调用Sub作ject的蛇login最方法--摇--Su州bject誓调用Se船curit渗yMana壮ger的方淘法箩-Se茶curit歉yMana乓ger调凉用Real奉m的认证方辩法音-认证方华法根据登录啄用户名查询晓密码,返饥回用户的密流码--迹--Se粘curit逆yMana江ger比蹦较用户输入雷的密码和真魄实密码是否申一致确第一步:渡修改Us笋erAct祝ion的悼login答方法跌第二步:躺需要为Se识curit滥yMana劣ger提眉供舅Realm致咏根据令愁牌对象数据再方法数据枕库...鸽通常自定义签Realm雨继承A饭uthor岔izing扛Realm惯(提供析认证、授权走功能)抽BOSRe敌alm实解现认证方法俗惹BOSRe龟alme支xtend秩sAut块horiz窝ingRe播alm成实现业务方值法:怖appli膝catio鹅nCont涝ext.x阻ml注册层bosr现ealm岩将re赖alm给父安全管理河器蜻如果用户名识不存在完org.a饰pache示.shir槽o.aut卵hc.Un免known虽Accou梦ntExc荒eptio暮n情如果密码错家误晚org.a疑pache北.shir决o.aut旅hc.In掠corre山ctCre阅denti期alsEx笑cepti赶on稻国际化信息缠配置相关秀的错误信息晋用户退出仍功能汉1:in抹dex.j筐sp跟页面添死加退出连接右垃2:act畅ion认证完成!画自定义R治eam实锁现用户授权课授权流程说今明义准备测试布数据巾appli烂catio掏nCont深ext.x秘ml级添加角色和逮权限配置乱在t_us覆er、au和th_ro杠le、au纺th_fu捉nctio挂n、rol淡e_fun霜ction强、user圣_role插无张表疗插入一些测喉试数据组t_use缓r插入怜两个用户体tom耍rose毙auth_慨funct巷ion表饺auth_监role态表橡role_榜funct才ion表证user_勾role监1号用户析tom打具有基础匀设置ba典secr批ud角色窝2号用户物rose恭具有使业务受理作取派模块c戏rud角仇色颈导出sq号lta词bles.傲sql犬下发!!!闯实现Rea昌lm授权刺代码降Realm辛代码寿超级管理员企realm旦实现旬非超级管理端员!裤Servi蚊ce代码肢RoleS晶ervic甘e暖Funct处ionSe库rvice管DAO代担码锅注册!堡已经完成愿!谜shir省o睬注解催实现方法级纪别的权限控劳制赤方法级别权森限控制原拢理乒自定义注解颗尼Sprin梯gAOP特代理遮反射获取注遮解信息视第一步:晃配置app督licat朗ionCo过ntext煤.xml融绝<!--开避启注解的权棍限控制陆-->昼姜<!--窜sprin传gbea辩n对象后熊处理器疑-->肤狐<bean值id="茶lifec聋ycleB进eanPo举stPro卡cesso题r"硬胳漂class朱="org雄.apac友he.sh轰iro.s蜜pring舟.Life合cycle萌BeanP汗ostPr摘ocess嗽or"/>设钩<!--失切面自动代株理-->窜肥<bean灾党class狐="org顺.spri坝ngfra思mewor分k.aop继.fram阶ework斑.auto饰proxy塘.Defa乒ultAd团visor叼AutoP抹roxyC款reato励r"踩怀垃depen秧ds-on供="lif丹ecycl亚eBean留PostP亏roces绿sor"/京>芦何<!--坛切面--扛>吊眉<bean慨般蛛class尽="org矩.apac设he.sh快iro.s怜pring柳.secu讨rity.出inter港cepto桐r.Aut退horiz纷ation及Attri客buteS主ource致Advis传or">扔膜储<pro诞perty繁name阅="sec珍urity盏Manag湿er"r派ef="s梨ecuri返tyMan病ager"贼/>惕修</bea晶n>事寨第二步:识在需要控制氏权限目标方荣法上,使用茫shiro采的注解琴@Req霸uires摧Roles舌彻需要角色突@Requ银iresP罢ermis树sions已需要权限脏寨例一:A奶ction混对象方法级齐别的个控制股例如添加分苦区/取派员疫操作错误:肺java.旬lang.房NoSuc垫hMeth鹰odExc净eptio横n欧:$Pr洁oxy11沈7.pag萍eQuer属y()扯原因:S黎pring颠代理优先义对接口代理陷Acti匪on接口蜡只有ex彼ecute挪方法,没有招page枣Query盈方法累解决:配纤置app断licat永ionCo牵ntext番.xml迷对目标类代贡理测试错误2:暖Cause箩dby:项冰java.私lang.胶Class赛CastE才xcept庆ion瞧:jav披a.lan驶g.Cla仅ssca捎nnot症beca图stto风java珠.lang舱.refl膨ect.P邮arame荒teriz永edTyp刺e武原因:平参数泛型序痒列化问题度解决:明修改Bas逮eActi尝on构造目器腥挖对代理类的爪父类型面(拒Staff悬Actio稠n腐<T>)朽获取参数御化泛型厘问题阅3室:愈actio椅n注入的歌业务层接口郑实例质null指鸡针莫java.米lang.滩NullP浊ointe撤rExce司ption伞驳Servi慎ce无法饺注入碎解决方案1谋:驼配置s蜡truts液2文件德strut挂s.obj轻ectFa筹ctory造这个属性用戚于说明St礼ruts2座的对象池创搜建工厂,S愚truts公2也有自己束的对象池,雀就像Spr恨ing那样国,在配置文士件中你可以贼引用对象池傲中的对象,叨你可以借助染于Spri徐ng中的对暗象池,当想致要得到Sp租ring中垫的对象池时振,申明st素ruts.纵objec住tFact尘ory为S腐pring役的对象池构较建工厂。当甜指定str省uts.o峡bject疗Facto降ry为sp穷ring时堡,stru眨ts2框架垦就会把be压an转发给宽sprin滔g来创建,跳装配,注入点。但是be赚an创建完没成之后,还恼是由str间uts容器潜来管理其生曾命周期。漫在stru稳ts.xm兵l中的代码示如下:<c没onsta练ntna溪me="s昂truts雕.obje冻ctFac此tory"中valu珠e="sp免ring"片/>截strut休s.obj吓ectFa给ctory靠.spri零ng.au买toWir爹e是用sp使ring插以件通过覆盖抢(over咐ride)夕Strut敲s2的O朴bject亩Facto艇ry来增强界核心框架对馅象的创建。毯当创建一个绩对象的时候链,它会用S幅truts妄2配置文件征中的cla彩ss属性去耐和Spri葵ng配置文帝件中的id身属性进行关桐联,尤如果能找到互则由Spr纳ing创建宅,否则由S刊truts有2框架自身潜创建,然后爷由Spri圈ng来装配急。嫌解决尖2督:采用谱sette看r斯方法注入,浙对喜业务层默对象设置名轰称境不推荐!昌Actio救n添加违shiro娱注解完成雨!妻\蓬补充对于吼方法级别权柱限控制如娇果登陆用户运没有角色惧或者权限惊报500险错误!止一般提供友模好页面踩1:st顺ruts2装异常处理滚机制锄strut名s.xml虎配置异姨常处理类罪型以及结果缓集灭2:配置检全局结果集慎3:倚编写错误页歉面获取异献常信息萍唉源码:俩获取异常信和息标签如行下闲4:ap绒plica症tionC略ontex珍t.xml婚盗2:we摧b.xml斜配置50愈0错误明配置具体异御常类型..版问题4:圣业务层添加翅权限注解剪注解无效!尺不行的!同但是没有虹异常用宾户没有权限腿角色也可中以执行该拆方法!殖也就是背shiro引注解无效江!尘appli津catio神nCont菠ext.x到ml配置遍事务管理器候面向实现到类做代理颤S庸hiro柴URL级别忧控制和注解坦控制,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版信托资金借贷合同合规性审查条款3篇
- 二零二五年度古董家具修复木工合同范本4篇
- 二零二五年度智能锁定制加工合同范本4篇
- 2025版环保木工材料供应与分包工程合同4篇
- 2025版事业单位聘用合同续签与绩效考核及晋升标准协议3篇
- 2025版外教中介聘请合同标准范本3篇
- 农产品仓储库存管理与优化考核试卷
- 2025版信托投资公司外汇存款账户管理合同3篇
- 2025年加盟冰淇淋店合同模板
- 2025年加盟加盟推广合同
- 道路沥青工程施工方案
- 内陆养殖与水产品市场营销策略考核试卷
- 票据业务居间合同模板
- 承包钢板水泥库合同范本(2篇)
- DLT 572-2021 电力变压器运行规程
- 公司没缴社保劳动仲裁申请书
- 损伤力学与断裂分析
- 2024年县乡教师选调进城考试《教育学》题库及完整答案(考点梳理)
- 车借给别人免责协议书
- 应急预案评分标准表
- “网络安全课件:高校教师网络安全与信息化素养培训”
评论
0/150
提交评论