Apache Shiro 功能概述

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

  • 在任何地方最容易理解的 Java 安全性 API。类和接口的名称是直观且“有意义”的。任何东西都是可插拔的,但是所有东西都有很好的默认值。

  • 在一个或多个可插拔数据源(LDAP,JDBC,ActiveDirectory 等)上支持authentication(“登录名”)。

  • 也使用可插入数据源,根据角色或细粒度的permissions执行authorization(“访问控制”)。

  • 一流的caching支持可增强应用程序性能。

  • 内置基于 POJO 的 Enterprise Session Management。可在 Web 和非 Web 环境中使用,也可在需要单点登录(SSO)或群集或分布式会话的任何环境中使用。

  • 异构Client 端会话访问。您不再被迫仅使用httpSession或有状态会话 Bean,它们常常不必要地将应用程序绑定到特定环境。现在,无论部署环境如何,Flash Applet,C#应用程序,Java Web Start 和 Web 应用程序等都可以共享会话状态。

  • 简单单点登录(SSO)支持附带上述企业会话 Management。如果跨多个应用程序联合了会话,那么用户的身份验证状态也可以共享。一次登录到任何应用程序,其他都可以识别该登录。

  • 使用最简单的Cryptography API 保护数据安全,从而为您提供强大的功能和简便性,这超出了 Java 默认为密码和哈希提供的功能。

  • 一个非常健壮但配置低的 Web 框架,可以保护任何 URL 或资源,自动处理登录和注销,执行“记住我”服务等等。

  • 所需依赖项的数量极少。独立配置仅需要slf4j\-api\.jar和 slf4j 的绑定.jars 之一。 Web 配置还需要commons\-beanutils\-core\.jar。可以在需要时添加基于功能的依赖项(Ehcache 缓存,基于 Quartz 的会话验证,Spring 依赖项注入等)。

想进一步了解 Shiro 可以做什么?

查看 Shiro 每个主要组件的特定功能:AuthenticationAuthorizationSession ManagementCryptography

使用 Shiro 在 10 分钟内入门

通过我们的10 分钟教程自己尝试 Shiro。如果您对 Shiro 有任何疑问,请查看我们的community forum用户邮件列表以获取社区的答案。