Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以很好的处理认证、授权、企业会话管理和加密。
Apache Shiro的首要目标是易于理解与使用。安全通常很复杂,甚至让人感到很痛苦,但是Shiro却不是这样子的。一个好的安全框架应该屏蔽复杂性,向外暴露简单、直观的API,来简化开发人员实现应用程序安全所花费的时间和精力。
那Shiro能做什么呢?
- 验证用户身份
- 用户访问权限认证,比如:
- 用户是否拥有一个安全的角色。
- 用户是否被授予完成某个操作的权限
- 在非web或EJB容器的环境下可以任意使用Session API
- 可以响应认证、访问控制,或者Session生命周期中发生的事件
- 可将一个或以上用户安全数据源数据组合成一个复合的用户视图
- 单点登录(SSO)功能
- 提供‘Remember Me’服务
Shiro致力在所有应用环境下实现上述功能,小到命令行应用程序,大到企业应用中,而且不需要借助第三方框架、容器、应用服务器等。当然Shiro的目的是尽量的融入到这样的应用环境中去,但也可以在它们之外的任何环境下使用。
Apache Shiro功能
Apache Shiro是一个全面的、蕴含丰富功能的安全框架。下图为描述Shiro功能的框架图:
认证、授权、会话管理、加密被Shiro框架的开发团队称之为应用安全的四大基石。那么就让我们来看看它们吧:
认证:用户身份识别,通常被称为用户登录。
授权:访问控制。比如某个用户是否具有某个操作的使用权限。
会话管理:管理非web或EJB应用中的会话。
加密:在对数据源使用加密算法加密的同时,保证易于使用。
还有其他的功能来支持和加强这些不同应用环境下安全领域的关注点。特别是对以下的功能支持:
Web支持:Shiro提供的web支持api,可以很轻松的保护web应用程序的安全。
缓存:缓存是Apache Shiro保证安全操作快速、高效的重要手段。
并发:Apache Shiro支持多线程应用程序的并发特性。
测试:支持单元测试和集成测试,确保代码和预想的一样安全。
“Run As”:这个功能允许用户“冒名顶替”其他用户(在许可的前提下)。
“Remember Me”:在session中记录用户的标识,只有在未获取到信息的情况下才需要登录。
评论前必须登录!
注册