Apache 的孵化器项目Shiro其前身是JSecurity,是一个强大,灵活的java安全框架。用于简洁地处理身份验证,授权,企业多个系统会话管理,加密服务等。
其系统框架如下:
Shiro的目标是成为一个最全面的,也是最容易使用的Java安全框架,以下是Shiro的一些特点:
1、 类的接口的定义都很直观非常容易理解。
2、 身份验证支持多种数据源(如LDAP,JDBC,Kerberos,ActiveDirectory等),并且这些数据源是可插拔的。
3、 对访问控制的权限管理也支持上述可插拔的数据源。
4、 提供缓存支持可增强应用程序的性能。
5、 内置的POJO型企业会话管理,可应用于Web环境,非Web环境,或其任何环境下(如单点登录,集群或分布式会话)。
6、 异构的客户端会话访问。不再需要被迫使用HttpSession或状态会话bean而只能支持特定环境下的应用程序。Flash程序,C#应用程序,Java程序,Web应用程序等都可以共享会话状态而与部署环境无关。
7、 支持单点登录功能,结合上述的企业会话管理可实现在多个应用程序中共享用户的身份验证状态。
8、 更简单的加密接口。提供的密码和Hashes(又可称作摘要)接口封装了更加复杂的Java加密扩展包(JCE),更加容易理解和使用。
9、 是一个非常可靠和低配置的Web框架,能够保护任何url地址或资源,能自动处理登录和注销,执行Remember Me服务,等等。
10、依赖性很低。Standalone模式只需要slf4j-api.jar和slf4j相关的jar包。Web模式下额外需要commons-beanutils-core.jar
包。对更多特性(Ehcache caching,Quartz-based Session validation, Spring dependency injection, etc.)所依赖的包可
在需要时添加。