日期:2014-05-16  浏览次数:20768 次

Apache Shiro 是什么?

Apache Shiro 是ASF旗下的一款开源软件(Shiro发音为“shee-roh”,日语“堡垒(Castle)”的意思),提供了一个强大而灵活的安全框架。可为任何应用提供安全保障— 从命令行应用、移动应用到大型网络及企业应用。

Apache Shiro提供了认证、授权、加密和会话管理功能,将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码。并且在实现此目标时无须依赖第三方的框架、容器或服务,当然也能做到与这些环境的整合,使其在任何环境下都可拿来使用。

Shiro将目标集中于Shiro开发团队所称的“四大安全基石”-认证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography):

认证(Authentication):用户身份识别。有时可看作为“登录(login)”,它是用户证明自己是谁的一个行为。

授权(Authorization):访问控制过程,好比决定“认证(who)”可以访问“什么(what)”.

会话管理(SessionManagement):管理用户的会话(sessions),甚至在没有WEB或EJB容器的环境中。管理用户与时间相关的状态。

加密(Cryptography):使用加密算法保护数据更加安全,防止数据被偷窥。

此外还有一些附加的功能进行支持和加强,例如:

Web支持:利用Shiro的web支持API可以很容易地实现web程序安全;

Caching:Caching在Apache Shiro的API中是一等公民,确保安全认证的动作快速而有效。

并发(Concurrency):Apache Shiro支持多线程;

测试(Testing):支持测试,帮助你开发单元和综合测试程序确保你的代码如你所预期的那样进行安全认证。

“Run As”:允许用户使用其他用户身份(如果被允许),这在执行某些管理角本中非常有用。

“Remember Me”:在整个会话周期中(sessions)记住用户的身份,用户只需要在程序强制要求登录的情况下才需要登录。