深入探索shiro权限框架的体系结构和实际应用

深入探索shiro权限框架的体系结构和实际应用

ID:31372874

大小:106.50 KB

页数:5页

时间:2019-01-09

深入探索shiro权限框架的体系结构和实际应用_第1页
深入探索shiro权限框架的体系结构和实际应用_第2页
深入探索shiro权限框架的体系结构和实际应用_第3页
深入探索shiro权限框架的体系结构和实际应用_第4页
深入探索shiro权限框架的体系结构和实际应用_第5页
资源描述:

《深入探索shiro权限框架的体系结构和实际应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、深入探索Shiro权限框架的体系结构和实际应用  摘要:权限管理系统是现代软件项目中必不可少的子系统,用户通常要求权限管理系统是细粒度和松耦合,尽量减少在权限系统开发中花费更多的精力。Java项目中通常会将重复使用的技术封装为框架,然后将框架挂接到实际项目中,从而大幅度提高项目制作效率和代码质量。该文主要讨论Shiro框架在企业中的应用,文章主要从Shiro的体系结构、构建和具体应用三个方面进行了详细的阐述,通过对比阐明了Shiro框架在技术和使用等方面的优势。  关键词:权限;JavaEE;框架;Shiro 

2、 中图分类号:TP311文献标识码:A文章编号:1009-3044(2015)22-0067-02  权限管理是指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。在软件项目中,几乎所有的系统都需要权限管理系统。但是权限管理系统的设计是一件非常复杂的事情,它需要遵从这样几条原则:一是必须保障系统使用的安全,能够覆盖系统所有功能,所以通常要求权限管理系统是细粒度的;二是能够方便快捷的进行系统权限的分配,不受到用户数量和用户使用功能的限制,其中最长采用的是基于角色的访问控制模型(RBAC

3、);三是权限系统和业务相分离,无论从代码层面,还是应用层面,权限系统的开发和使用不受到业务的限制。  1Java项目权限框架概述5  Java项目中除了自己开发权限框架外,经常会使用一些开源的权限框架,或者是在这些开源的框架上进行二次开发,使用权限框架可以大大简化权限系统的开发,能够满足大多数企业项目复杂的需求。常见的框架技术有SpringSecurity、AcegiSecurity、Kasai、ralasafe和Shiro等,每种框架都具有自己的特点,也存在不能进行细粒度控制、功能简单、无法满足用户的需求和易

4、用性差等缺点。  Shiro是众多框架中表现相对较好的一个,它是由Apache公司的开发的Java权限框架,它是基于RBAC的细粒度框架,从依赖关系来讲,它不依赖任何框架技术,可以独立被使用,也可以和其他框架结合使用;从应用范围来讲,它既可以被应用到Web开发,也可以被应用到客户端开发;从具体应用来讲,它的配置非常简单,易用性很强,本文重点讨论如何使用Shiro构建权限管理系统。  2使用Shiro构建权限系统  2.1Shiro框架的体系结构  1)认证(Authentication),它的功能是判断用户身份

5、是否合法,通俗来讲是登录功能,这是权限系统最为基础的功能,Shiro允许用户对认证方法重写,从而根据项目的业务需求实现认证。  2)授权(Authorization),这部分功能是权限系统的核心功能,Shiro是基于RBAC模型进行授权,它最基础的内容是权限点,这也是细粒度控制的体现。通过授权,Shiro框架将预先定义好的权限点和角色分配给用户,用户在认证通过后,Shiro框架会约束用户对于系统访问的权限。  3)会话管理(Session5Management),Web项目中通常具备会话管理功能,例如:Java

6、Web中通常使用HttpSession类进行会话管理,Shiro框架构建了专门的会话管理机制,Web项目中的会话可以由它代为管理,即使不具备会话管理功能的客户端项目,Shiro的会话管理功能也可以使用,这使得Shiro用户在会话管理层面无需关心是何种类型的项目,这也是Shiro框架易用性的重要体现。  4)加密(Cryptography),权限系统中数据加密是必不可少的内容,Shiro试图简化加密和解密操作,它引入了CipherServiceAPI,让用户只需提供密钥就可以根据需要进行加密和解密。此外,Shir

7、o封装了诸如md5和sha等常用的加密算法,方便用户进行调用。  5)其他功能,除了核心功能外,Shiro还提供了几项非常实用的特征,包括Web支持、缓存功能、多线程并发验证、测试工具等。  2.2构建权限框架  Shiro框架是RBAC模型,而且是细粒度权限管理,其构建的基础是权限点,角色和用户等权限数据都是基于权限点进行建立。用户可以通过重写AuthorizingRealm类和修改配置文件实现Shiro框架服务于业务系统,以下是具体构建的流程:  1)定义权限数据  权限数据通常与被存储在数据库中,也可以用

8、其他的形式存储。在具体建立时通常需要构建权限点数据、角色数据和用户数据,权限点数据和角色数据是多对多关系,角色数据和用户数据也是多对多关系,权限点数据最为核心的内容是权限字符串,通常形式是“fjqx:zjqx”5,冒号前代表父级权限,后面是子集权限,无论是在页面还是在程序代码中,都是通过这个串标识系统功能,这个串对应的权限点被赋予了哪个用户,哪个用户才拥有访问这个系统功能的权限。  2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。