相关知识
1、什么是ApacheShiro
Apache Shiro是一种功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理,可用于保护任何应用程序的安全。
Shiro提供了应用程序安全性API来执行以下方面:
1)身份验证:证明用户身份,通常称为用户‘登录’;
2)授权:访问控制;
3)密码术:保护或隐藏数据以防窥视;
4)会话管理:每个用户的时间敏感状态。
上述四个方面也被称为应用程序安全性的四个基石。
Shiro还支持一些辅助功能,例如Web应用程序安全性,单元测试和多线程支持,它们的存在也是为了加强上述四个方面。
2、ApacheShiro功能概述
1)在任何地方最容易理解的Java安全性API,类和接口的名称很直观;
2)支持跨一个或多个可插拔数据源(LDAP、JDBC、ActiveDirectory等)的身份验证;还可以使用可插拔数据源,根据角色或细粒度权限执行授权;
3)一流的缓存支持,增强应用程序性能;
4)内置基于POJO的企业会话管理,可在Web和非Web环境中使用,也可在需要单点登录(SSO)或分布式会话的环境中使用;
5)异构客户端会话访问:无论部署环境如何,FlashApplet、C#、JavaWeb Start和Web应用程序等都可以共享会话状态;
6)简单单点登录支持附带企业会话管理:如果会话是跨多个应用程序联合的,用户的身份验证状态也可以共享;
7)使用可用加密API保护数据安全,这是Java默认情况下提供的用于密码和哈希的功能;
8)一个健壮的Web框架可以保护任何URL或资源,自动处理登录和注销。
3、ApacheShiro的优势
1)易于使用、全面;
2)灵活:ApacheShiro可以在任何应用程序环境中工作;
3)具有Web功能:允许基于应用程序URL和Web协议创建灵活的安全策略,还提供一组JSP库来控制页面输出;
4)可插拔:Shiro干净的API和设计模式使它易于与其他框架和应用程序集成,Shiro可以与Spring、Grails、Wicket、Tapestry、Mule、ApacheCamel、Vaadin等框架无缝集成;
5)受支持:ApacheShiro是Apache Software Foundation(Apache软件基金会)的一部分,如果需要,像Katasoft这样的商业公司也可以提供专业的支持和服务。
4、框架局限