Shiro框架学习-初识

废话不多说直接步入正题,Shiro框架是Apache的一个开源安全框架。近年来,其使用简单轻便,API通俗易懂等特点为其赢来越来越多的用户。相对比Spring Security ,虽没有其功能强大,但基本能满足实际工作时的需求,正所谓合适的就是最好的,无所谓好与不好。
下面是Shiro框架的基本功能:
基本功能展示图
一、Primary Concerns(主功能)
① Authentication(证明;认定):身份认证登录;
② Authorization(授权;批准):授权即权限认证,验证该用户是否有某项权限,能做什么事情;
③ Session Management(会话管理):用过servlet的都知道session是什么,用户登录后就是一次会话,在没有退出之前,它的所有信息都存储在会话中;
④ Cryptography(密码使用法;密码系统):对数据进行加密,保护数据的安全性;
二、Supporting Features(支持的特性)扩展功能
① Web Support:主要针对web应用提供一些常用功能。
② Caching:缓存可以使应用程序运行更有效率。
③ Concurrency:多线程相关功能。
④ Testing:帮助我们进行测试相关功能
⑤ “Run As”:一个允许用户假设为另一个用户身份(如果允许)的功能,有时候在管理脚本很有用。
⑥“Remember Me”:记住用户身份,一次登录后,下次再来就不用重复登录了,提供类似购物车功能。
一个优秀的框架从外部看必定是简单易于使用的,从内部看又是高可扩的。下面我们浅谈一下Shiro框架
官方经典图不能少,先来介绍一下API含义:

① Subject: 主体,是与程序进行交互的对象,可以是人也可以是服务或者其他,通常就理解为用户。
② SecurityManager:安全管理器,是Shiro的核心,初始化时协调各个模块运行。所有与安全相关的操作都要去其交互,管理着所有的Subject。类似于dispatcherServlet前端控制器;
③ Realms:域,在 Shiro中作为应用程序和安全数据之间的“桥梁”或“连接器”。他获取安全数据来判断Subject是否能够登录,Subject拥有什么权限。他有点类似DAO,提供用户信息给安全管理器,Realm可以有一个也可以多个。
我们可以很直观的看到一个简单的Shiro应用:
1、应用代码首先通过Subject来进行认证和授权,而Subject又委托给SecurityManager;
2、我们需要给Shiro的SecurityManager注入Realm,从而让SecurityManager能够得到合法的用户及其权限进行判断;
我们也因此得出,Shiro不提供维护用户及权限,而是开发人员通过Realm自己注入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值