Apache Shiro介绍

来源:互联网 发布:js typeof5类型 编辑:程序博客网 时间:2024/05/17 22:00

Apache Shiro是什么?

Apache Shiro是一个功能强大并且方便的开源安全框架,它可以处理认证(Authentication),授权(Authorization),企业会话管理(Enterprise Session Management)和加密(Cryptography)。
Apache Shiro的首要目标就是更加容易的使用和理解。安全有时是非常复杂的,甚至是痛苦的,但不一定非得如此。框架应该尽可能地掩盖复杂性,并公开一个简洁的、直观的API,简化开发人员的工作,使他们的应用程序安全。
这里有一些事是你能做的伴随着Apache Shiro:
  • (Authenticate)认证一个用户去验证他们的身份
  • 控制一个用户对应用的访问控制
确定是否一个用户拥有一个确认的安全角色
确定一个用户是否被允许做一些事情
  • 使用一个会话(Session)API在任何的环境中,甚至在没有Web或者EJB容器中使用。
  • 在认证、访问控制或会话的生命周期中对事件作出反应。
  • 聚合一个或多个用户安全数据数据源,并将其作为单个复合用户的视图呈现。
  • 启用单点登录(SSO)功能。
  • 在没有登录的情况下,启用“记住我”的服务
...
更重要的是,所有这些都集成到一个易于使用的API中。
Shiro尝试为了所有应用环境去实现这些目标-从最简单的命令行程序到最大的企业应用程序,同时没有对其他第三方框架,容器或者应用服务器的依赖。当然,项目的目标是尽可能地集成到这些环境中,但是它可以在任何环境中使用开箱即用。

Apache Shiro的特性
Apache Shiro是一个全面的拥有许多特性的应用程序安全框架。下面这张表显示了Shiro的重点,而这个参考手册的组织方式类似:
Shiro的目标是Shiro开发团队所称的“应用安全的四个基石”——认证(Authentication)、授权(Authorization)、会话管理(Session Management)和密码学(Crytography):
  • Authentication:有时候可以称为“(登录)login”,它的目标是告诉用户我是谁。
  • Authorization:访问控制的处理等。决定谁可以访问什么。
  • Session Management:管理用户的会话,甚至是没有web或者EJB的应用程序。
  • Crytography:通过加密算法保证数据的安全并且容易使用的。   
在不同的应用环境中,也有一些附加的特性来支持和加强这些关注点,特别是:
  • Web Support:Shiro的web支持api帮助很容易地保护web应用程序。
  • Caching:在Apache Shiro的API中,缓存是第一层的公民,以确保安全操作的速度和效率。
  • Concurrency:Apache Shiro支持多线程的应用程序伴随着它的并发特性。
  • Testing:测试支持可以帮助您编写单元和集成测试,并确保您的代码将按预期的方式得到保护。
  • “Run As”:许用户假设另一个用户的身份(如果允许),有时在管理场景中有用的特性。
  • “Remember Me”:记住用户在会话中的身份,因此他们只需要在强制的时候登录。





原创粉丝点击