Apache Shiro 是一个简单且功能强大的一个权限管理框架。权限管理是一个系统比不可少的功能,这也是每个程序与必须要掌握的技能,在企业中权限管理一般采用如下三种方式:
自己按照用户-角色-权限自助开发权限管理,这种方式适合大公司。使用Apache Shiro框架,这个框架轻量,更容易集成,企业中使用较多。使用Spring Security框架,这个框架属于重量级框架,集成复杂,效率比较低。Apache Shiro简介
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
实际上,它实现了管理应用程序安全性的所有方面,同时尽可能避免出现问题。它建立在完善的接口驱动设计和面向对象的原则之上,可以在任何你想象得到的地方实现自定义行为。但是,对于所有事情来说,默认情况下都是合理的,这与应用程序安全性是一样的。至少这是我们所追求的。
主要功能
三个核心组件:Subject, SecurityManager 和 Realms.
Subject
即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前跟软件交互的东西”。Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。
SecurityManager
它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。
Realm
Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。
从这个意义上讲,Realm实质上是一个安全相关的DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给Shiro。当配置Shiro时,你必须至少指定一个Realm,用于认证和(或)授权。配置多个Realm是可以的,但是至少需要一个。
Shiro内置了可以连接大量安全数据源(又名目录)的Realm,如LDAP、关系数据库(JDBC)、类似INI的文本配置资源以及属性文件等。如果缺省的Realm不能满足需求,你还可以插入代表自定义数据源的自己的Realm实现。
如何快速全面掌握Shiro
这里分享一套高质量视频教程,用于帮助大家快速全面的掌握Apache Shiro,这套视频教程全面,详细,是我在学习Shiro中认为质量最好的一个教程,今天和大家分享,希望能帮助到大家。
也欢迎关注Java实用技术,本站会经常发布一篇工作中常用实用的技术,希望能和大家多多交流,共同进步。
地址地址:
此处内容需要权限查看
微信赞赏支付宝扫码领红包