一.什么是Shiro
关于Shrio,Apache官方文档是这样介绍:Apache Shiro是一个强大灵活的开源安全框架,它干净的处理身份认证、权限验证、企业会话管理和加密。(翻译的不一定准确,大概意思差不多)
Shiro都可以作什么:
1.验证用户身份
2.为用户执行访问控制,例如:
确定用户是否分配了一定的安全角色
确定是否允许用户做某件事或不做某事
3.在任何环境中使用会话API,即使没有Web或EJB容器。
4.在身份验证、访问控制或会话生命周期期间对事件作出响应。
5.聚合1个或多个用户安全数据源,并将其作为单个复合用户视图呈现。
6.启用单点登录(SSO)功能
7.不登录时为用户关联启用“记住我”服务
……
更重要的是,所有这些都集成到一个易于使用的内聚性API中。
图片上边四个是Shrio主要模块:
Authentication:身份认证,验证用户的具体对应身份;
Authorization:权限验证,验证某个用户是否具有相应的操作权限
Session Manager:会话管理,只要用户登录没退出之前,所有的相关信息都存在于会话中;
Cryptography:加密,顾名思义就是加密保护,里边集成了多种加密方式;
图片底部蓝的是几块其他对应的支持:
Web Support:Web 支持,可以集成到web应用;
Caching:缓存,提供更加快速高效的操作。
Concurrency:并发,支持具有并发特性的多线程应用程序。;
Testing:测试,提供了单元测试和集成测试;
Run As:允许用户假使用另一个用户的身份和功能,前提条件是允许;
Remember Me:记住我,这个功能就很常见了,一般网站应用都有。