shiro

1、shiro简介

shiro是apche下的一个开源框架,是一个权限管理的框架,可以用来实现、用户授权、用户认证。spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro。

1、2 什么时候该用shiro

在独立应用中使用

在web中使用

在spring框架中集成使用

1、3 shiro解决应用安全的四要素

认证 - 用户身份识别,判断使用户还是管理员,还是其他

授权 - 访问控制

密码加密 - 保护或隐藏数据防止被偷窥

会话管理 - 与用户相关的时间敏感的数据

2、shiro优势

简单、使用广范、灵活、有web支持、而且还是Apache软件基金会成员

3、核心

Subject (主题)

SecurityManager (安全管理器)

Realms (领域)

3、1 Subject

subject 被Shiro 描述为一个主体、被需要认证的主体、可以是人或系统

登录,退出,执行授权检查登一系列操作都是基于在subject之后才能进行操作

Shiro 的api非常直观,它反映了开发者以“每个用户” 思考安全控制的自然趋势

subject给开开发人员使用的

3、2 SecurityManager

管理所有用户的安全操作,是 Shiro 框架的核心,充当“保护伞”引用了多个内部嵌套安全组件,它们形成了对象图。SecurityManager用来检查数据是否安全

使用之前先配置安全管理器(SecurityManager),可以使用普通的Java代码、spring xml、YAML、ini文件。

3、3 Realm

Realm 充当了 Shiro 与应用安全数据间的“桥梁”或者“连接器",还向SecurityManager提供数据帮助SecurityManager更好的做安全检查。

假设我们现在是的在登录的场景:

我们先获取subject(),然后subject发送一个登录请求给安全管理器 让安全管理器去检测这个登录请求是否安全 安全管理器在发送一个请求给Realm 让Realm提供安全管理器需要的数据 安全管理器验证完了之后再把请求发送给subject 告诉subject这个登录请求是不是合法的。通过对象与对象之间的协作顺序来完成整个流程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值