`
peterwanghao
  • 浏览: 123662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache Shiro 会话管理

 
阅读更多

在安全框领域,ApacheShiro提供了一个独一无二的东西:一个完整的企业级Session解决方案,从最简单的命令行及智能手机应用到最大的集群企业Web应用程序。如果你需要session支持,你可以使用ShiroSession支持,比Web容器或使用EJB有状态会话Bean这两种机制的使用和管理更为简单。

下面是ShiroSession支持的一些特点:

1) POJO/J2SEbased(IoCfriendly)-Shiro的一切(包括所有SessionSessionManagement方面)都是基于接口和POJO实现。这可以让你轻松地配置所有拥有任何JavaBeans兼容配置格式(如JSONYAMLSpringXML或类似的机制)的会话组件。你也可以轻松地扩展Shiro的组件或编写你自己所需的来完全自定义sessionmanagement

2) EasyCustomSessionStorage-因为ShiroSession对象是基于POJO的,会话数据可以很容易地存储在任意数量的数据源。这允许你自定义你的应用程序会话数据的确切位置——例如,文件系统,联网的分布式缓存,关系数据库,或专有的数据存储。

3) Container-IndependentClustering!-Shiro的会话可以很容易地聚集通过使用任何随手可用的网络缓存产品,像Ehcache+TerracottaCoherenceGigaSpaces,等等。这意味着你可以为Shiro配置会话群集一次且仅一次,无论你部署到什么容器中,你的会话将以相同的方式聚集。不需要容器的具体配置!

4) HeterogeneousClientAccess-EJBweb会话不同,Shiro会话可以被各种客户端技术“共享”。例如,一个桌面应用程序可以“看到”和“共享”同一个被使用的物理会话通过在Web应用程序中的同一用户。我们不知道除了Shiro以外的其他框架能够支持这一点。

5) EventListeners-事件监听器允许你在会话生命周期监听生命周期事件。你可以侦听这些事件和对自定义应用程序的行为作出反应——例如,更新用户记录当他们的会话过期时。

6) HostAddressRetention-ShiroSessions从会话发起地方保留IP地址或主机名。这允许你确定用户所在,并作出相应的反应(通常是在IP分配确定的企业内部网络环境)。

7) Inactivity/ExpirationSupport-由于不活动导致会话过期,如果你希望的话,它们可以通过touch()方法来保持它们“活着”。这在RIA(富互联网应用)环境非常有用,用户可能会使用桌面应用程序,但可能不会经常与服务器进行通信,但该服务器的会话不应过期。

8) TransparentWebUse-Shiro的网络支持,充分地实现和支持关于SessionsHttpSession接口和它的所有相关的API)的Servlet2.5规范.这意味着你可以使用在现有Web应用程序中使用Shiro会话,并且你不需要改变任何现有的Web代码。

9) CanbeusedforSSO-由于Shiro会话是基于POJO的,它们可以很容易地存储在任何数据源,而且它们可以跨程序“共享”。我们称之为"poorman'sSSO",并且它可以用来提供简单的登录体验,由于共享的会话能够保留身份验证状态。

Shiro中使用Session非常简单,可以通过与当前执行的Subject交互来获取Session。例如:

SubjectcurrentUser=SecurityUtils.getSubject();

Sessionsession=currentUser.getSession();

session.setAttribute("someKey",someValue);

对于那些熟悉HttpServletRequestAPI的人,Subject.getSession(booleancreate)方法与HttpServletRequest.getSession(booleancreate)方法有着异曲同工之效。

l如果该Subject已经拥有一个Session,则boolean参数被忽略且Session被立即返回。

l如果该Subject还没有一个Sessioncreate参数为true,则创建一个新的会话并返回该会话。

l如果该Subject还没有一个Sessioncreate参数为false,则不会创建新的会话且返回null

l 当你获取了一个SubjectSession后,你可以用它来做许多事情,像设置或取得attribute,设置其超时时间,等等。



分享到:
评论

相关推荐

    Apache Shiro中文开发文档.pdf

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架...

    Apache shiro1.2.4反序列化漏洞介绍.docx

    Apache shiro1.2.4反序列化漏洞介绍 Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理。Apache Shiro框架提供了记住我(RememberMe)的功能,关闭了浏览器下次再打开时还是能记住你是谁,下次...

    Apache Shiro核心jar包:shiro-core-1.3.2

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    让Apache Shiro保护你的应用

    Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障 - 从命令行应用、移动应用到大型网络及企业...

    SpringBoot + Apache Shiro1.9.1 最新版本详细教程,基于RBAC角色访问、安全管理框架、用户角色权限

    4、优点:快速上手、全面支持验证、授权、加密和会话、灵活自定义设计、支持web环境、可以无缝集成spring等优点。可以用来用户验证、用户授权、用户session管理、安全加密等 5、基于RBAC五张表:用户表 tb_user、...

    apache shiro视屏讲解(带代码,课件)

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    Apache_Shiro参考手册中文版.zip

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应 ...

    Apache Shiro开发文档教程

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序,可以和...

    apache shiro 开发文档

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密

    Apache shiro的简单介绍与使用教程(与spring整合使用)

     Apache Shiro是一个强大而灵活的开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密。现在,使用Apache Shiro的人越来越多,因为它相当简单,相比比Spring Security,Shiro可能没有Spring ...

    Apache Shiro是Java的一个安全框架。帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。

    Apache Shiro是Java的一个安全框架。帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。

    Apache Shiro安全框架-其他

    Apache Shiro(发音为“shee-roh”,日语为“castle”)是一种功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理,可用于保护任何应用程序的安全-从命令行应用程序,移动应用程序到最大的Web...

    ShiroSamples:Apache Shiro示例

    Apache Shiro是一个强大而灵活的开源安全框架,可以简明地处理身份验证,授权,企业会话管理和加密。 Apache Shiro最初的目标是易于使用和理解。安全有时候会很复杂,甚至令人痛苦,但没必要。一个框架应该替换隐藏...

    apache-shiro-1-2-x-reference

    Apache Shiro是一个功能强大、灵活的开放式安全框架,干净利落地处理身份验证、授权、企业会话管理和加密。 Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。 【apache-shiro-1-2-x-...

    Apache-Shiro-中文参考文档.docx

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架...

    shiro 1.4.1.rar

    Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多...Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。这不就是我们想要的嘛,而且 Shiro 的 API 也是非常简单.

    Apache_Shiro

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应 ...

    springboot整合shiro的demo.zip

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    Apache_Shiro开发文档及JAVA开发实例

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。这是一个JAVA开发实例及开发文档。

    Shiro 视频教程+源码+课件

    内容涵盖 Shiro 认证、加密、授权、安全标签、安全注解、会话管理、缓存、Rememberme 等 JavaEE 企业级开发的核心技术。视频讲授过程中通过分析源代码使学员知其然更知其所以然。 【课程内容】 第一章 问候 Shiro ...

Global site tag (gtag.js) - Google Analytics