Apache Shiro会话管理功能-07

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010675669/article/details/89491239

Apache Shiro会话管理功能

会话是您的用户在使用您的应用程序时携带一段时间的数据桶。传统上,会话专用于Web或EJB环境。Shiro支持任何应用程序环境的会话。此外,Shiro还提供许多其他强大功能来帮助您管理会话。

特征

  • 基于POJO / J2SE(IoC) - Shiro中的所有内容(包括会话和会话管理的所有方面)都是基于接口的,并使用POJO实现。这允许您使用任何与JavaBeans兼容的配置格式(如JSON,YAML,Spring XML或类似机制)轻松配置所有会话组件。您还可以根据需要轻松扩展Shiro的组件或编写自己的组件,以完全自定义会话管理功能。

  • 会话存储 - 由于Shiro的会话对象是基于POJO的,因此会话数据可以轻松存储在任意数量的数据源中。这允许您准确自定义应用程序的会话数据所在的位置 - 例如,文件系统,企业缓存,关系数据库或专有数据存储。

  • 轻松而强大的群集 - 使用任何易于使用的网络缓存产品(如Ehcache,Coherence,GigaSpaces等),可轻松集群Shiro的会话。人。这意味着您可以为Shiro配置一次且仅一次的会话群集,无论您部署到哪个Web容器,您的会话都将以相同的方式进行群集。无需特定于容器的配置!

  • 异构客户端访问 - 与EJB或Web会话不同,Shiro会话可以通过各种客户端技术“共享”。例如,桌面应用程序可以“看到”并“共享”同一用户在服务器端Web应用程序中使用的相同物理会话。我们不知道Shiro以外的任何框架都可以支持这一点。

  • 事件侦听器 - 事件侦听器允许您在会话的生命周期内侦听生命周期事件。您可以侦听这些事件并对它们做出反应以获取自定义应用程序行为 - 例如,在会话到期时更新用户记录。

  • 主机地址保留 - Shiro会话保留启动会话的主机的IP地址。这允许您确定用户所在的位置并做出相应的反应(主要用于IP关联是确定性的Intranet环境中)。

  • 不活动/到期支持 - 会话因预期不活动而到期,但touch()如果需要,可以通过一种方法延长它们以保持“活着”。这在用户可能正在使用桌面应用程序的Rich Internet Application(RIA)环境中很有用,但可能无法定期与服务器通信,但服务器会话不应过期。

  • 透明的Web使用 - Shiro的Web支持实现了HttpSession界面及其所有相关的API。这意味着您可以在现有Web应用程序中使用Shiro会话,而无需更改任何现有Web代码。

  • 可以用于SSO - 因为Shiro会话是基于POJO的,它们很容易存储在任何数据源中,并且如果需要,它们可以跨应用程序“共享”。这可用于提供简单的登录体验,因为共享会话可以保留身份验证状态。

猜你喜欢

转载自blog.csdn.net/u010675669/article/details/89491239