Java安全框架—Shiro

Apache 的孵化器项目Shiro其前身是JSecurity,是一个强大,灵活的java安全框架。用于简洁地处理身份验证,授权,企业多个系统会话管理,加密服务等。

其系统框架如下:

Java安全框架—Shiro

Shiro的目标是成为一个最全面的,也是最容易使用的Java安全框架,以下是Shiro的一些特点:

1、 类的接口的定义都很直观非常容易理解。

2、 身份验证支持多种数据源(如LDAPJDBCKerberosActiveDirectory等),并且这些数据源是可插拔的。

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.)所依赖的包可

在需要时添加。