本文学习主要参考官方英文文档(博客中已翻译处理)
shiro作用:认证、授权、加密、会话管理、与Web集成、缓存等。
你可以用shiro来做以下事情
- 认证一个用户来核实他的身份
- 控制用户的一些访问权限,例如:
- 一个用户是否具有某个安全权限
- 一个用户是否被允许进行某些操作
- 在任何场景使用会话API,即使不是web工程或者EJB容器
- 对认证、控制权限获得等事件或者在一次会话生命周期中起作用
- 聚集一个或者更多用户安全数据源并把他们当做一个user ‘view’集合体来呈现
- 支持sso单点登录功能
- 记住我
基本功能点如下图(来自apache shiro官方文档)
- Authentication:认证即登录操作,用来证明用户身份
- Authorization:权限控制,控制用户访问资源权限
- Session Management:管理用户会话,在web环境和ejb环境中同样适用
- Cryptography:适用密码学算法在确保数据易于访问的同时保证数据的安全性
扩展功能 - web support:简单方便地实现web应用的安全控制
- Caching:优先考虑缓存确保安全操作保持高速有效
- conCurrency:支持多线程并发
- Testing:测试功能
- “Run As”:允许用户在另一个用户同意的情况下借助另一个用户的身份,在管理脚本中可能有用
- “Remember me”: 记住用户身份