什么是Apache Shiro?
Apache shiro 是一个强大而灵活的开源安全框架,可清晰地处理身份认证、授权、会话(session)和加密。
Apache Shiro最主要的初衷是为了易用和易理解,处理安全问题可能非常复杂甚至非常痛苦,但并非一定要如此。一个框架应该尽可能地将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码。
利用Apache Shiro你可以做这些事情:
????????验证用户身份;
?????????对用户执行访问控制,如:
?????????????????确定用户是否为指定的角色,
?????????????????确定用户是否有权限做某件事情;
?????????在任何环境下使用会话(session)API,甚至在没有web或者EJB容器的环境下;
??????? ?影响在身份认证、访问控制或整个会话周期中的事件;
???????? 综合一种或多种用户安全数据的数据源并将这些数据源表现成一个单独的综合的用户'视图(view)';
????????允许单点登录(SSO)功能设计;
????????(译者注:SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。)
??????? 允许用户使用'记住我(Remember Me)'服务而无须登录。
??????? ……
????? 还有更多--所有都整合在了综合合的易用的API中。?
Shiro尝试在所有应用环境中实现这些目标--从简单的命令行程序到大型企业级项目,无须依赖第三方的框架、容器或服务,当然,项目的目标仍然是在这些环境中尽可能地整合,但它在任何环境下都可以拿来使用。
?
Apache Shiro 特征
Apache Shiro 是一个拥有很多特点的用途广泛的程序安全框架,下面的图表展示了Shiro的主要功能特点,本文(reference manual)也是按类似的方式组织的。
?
?
Shiro将目标集中于Shiro开发团队所称的“四大安全基石”-认证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography):
认证(Authentication):有时可看作为“登录(login)”,它是用户证明自己是谁的一个行为。
授权(Authoriz