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

Apache Shiro Web应用会话管理

阅读更多

 

Servlet容器会话管理

Web环境中,Shiro默认的会话管理器SessionManager 的实现是ServletContainerSessionManager。这个实现只是简单的封装了Servlet容器,包括会话集群功能。它的本质是Shiro Session APIServlet容器之间的一个桥梁。

使用这个默认实现的好处是,应用程序将使用现有的servlet容器的会话配置,例如超时,基于特定容器的集群机制等。缺点是你的应用程序依赖于特定servlet容器的会话处理将不适合移植。

如果使用缺省的servlet容器配置,在Web.xml文件里可配置Session超时。例如:

<session-config>

  <!-- web.xml expects the session timeout in minutes: -->

  <session-timeout>30</session-timeout>

</session-config>

本地会话管理

如果你想要特定的会话管理/集群功能,并且可以在不同的servlet容器移植。你可以Shiro本地的会话管理。“本地”的意思是Shiro自己实现的企业级会话管理支持所有的SubjectHttpServletRequest会话。但请放心,Shiro实现的会话管理符合servlet规范,现有的Web/HTTP相关代码不需要修改。

如想使用Shiro本地的会话管理,需要在shiro.ini进行配置:

[main]

...

sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager

# configure properties (like session timeout) here if desired

 

# Use the configured native session manager:

securityManager.sessionManager = $sessionManager

一旦声明,你就可以配置DefaultWebSessionManager的实例,配置方法可参考“会话管理”部分中所描述的集群配置与本地会话选项。

比如,session超时设置:

[main]

...

# 3,600,000 milliseconds = 1 hour

securityManager.sessionManager.globalSessionTimeout = 3600000

 

DefaultWebSessionManager支持两种配置特性的Session Cookie

sessionIdCookieEnabled (a boolean)

sessionIdCookie, a Cookie instance.

DefaultWebSessionManagersessionIdCookie缺省实例是SimpleCookie。这个实现符合JavaBeans风格的属性配置,可以让所有相关的属性配置成一个Http Cookie。例如,你可以设置Cookie域:

[main]

...

securityManager.sessionManager.sessionIdCookie.domain = foo.com

Cookie的默认名称是JSESSIONID。此外,Shirocookie支持HttpOnly flag

如果你不想使用会话cookie,你可以将sessionIdCookieEnabled的属性设置为false。例如:

[main]

...

securityManager.sessionManager.sessionIdCookieEnabled = false

分享到:
评论

相关推荐

    Apache Shiro教程

    Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等功能。这个教程将帮助你深入理解和有效地使用Shiro框架。在本文中,我们将详细探讨Shiro的核心概念、主要功能和常见用法...

    Apache shiro 1.13.0源码

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。Shiro 1.13.0 是其一个重要的版本,包含了多项更新和改进。在这个版本中,开发者可以深入理解其...

    让Apache Shiro保护你的应用

    ### Apache Shiro:全方位守护应用安全 #### 一、Apache Shiro概述 **Apache Shiro**(发音为“shee-roh”,意为日语中的“堡垒”)是一款功能强大且易于使用的Java安全框架,旨在为各类应用提供全面的安全保障。...

    Apache_Shiro_使用手册(一)Shiro架构介绍

    - **Web 应用**:Shiro 可以为 Web 应用提供强大的认证和授权功能,同时支持会话管理和跨域资源共享等功能。 - **桌面应用**:对于桌面应用而言,Shiro 提供了一套完整的安全解决方案,帮助开发者轻松实现用户管理和...

    让Apache_Shiro保护你的应用.pdf

    Shiro的设计理念是简单而强大,旨在为Java应用程序提供一个易于理解和使用的安全框架,用于实现认证、授权、加密和会话管理等功能。Shiro不仅支持传统的Web应用,还适用于无界面的控制台应用和移动应用,甚至可以...

    Apache Shiro中文开发文档.pdf

    - **定义**:Apache Shiro 是一款强大且灵活的开源安全框架,它致力于简化应用程序的安全性问题,包括身份验证(Authentication)、授权(Authorization)、会话管理(Session Management)以及加密(Cryptography)...

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

    Apache Shiro是一个全面的Java安全框架,用于处理应用程序的安全需求,包括身份验证、授权、密码管理和会话管理。它的核心功能之一是“RememberMe”服务,该服务允许用户在关闭浏览器后仍然保持登录状态,无需在下次...

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

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

    使用Apache Shiro保护你的WEB应用

    Shiro的会话管理功能使得在Web和非Web环境下都能轻松管理用户会话。它支持会话缓存,提高了性能,且能处理跨域会话共享的问题。对于加密需求,Shiro提供了简单的加密API,方便开发者对敏感数据进行加密保护。 总的...

    Apache Shiro 集成-spring

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。Shiro 不仅可以用于Java Web 应用,也可以用于独立的Java应用。在集成Spring时,Shiro ...

    spring mvc、apache shiro、mysql 框架搭建,基于maven构建

    Apache Shiro是一款轻量级的安全框架,用于处理身份认证、授权、会话管理和加密。在Spring MVC应用中,Shiro可以轻松地集成,提供用户登录、权限控制等功能。例如,它可以验证用户凭证,确保只有授权的用户才能访问...

    apache shiro 实例

    Apache Shiro 是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。本实例将深入探讨 Apache Shiro 的核心概念和常见用法。 1. **认证**:Shiro 提供了用户身份...

    Spring MVC+Mybatis+Ehcache+Apache Shiro+Bootstrap整合开发java仓库管理系统源码

    Apache Shiro是一个强大且易用的安全管理框架,用于身份验证、授权、会话管理和加密。在仓库管理系统中,Shiro可以实现用户登录验证、角色权限分配、访问控制等功能,确保只有经过认证和授权的用户才能访问特定的...

    apache shiro文档

    Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证、授权、加密和会话管理功能,可以非常方便地为应用程序提供安全保障。本文档合集包含了多个 PDF 文件,全面覆盖了 Apache Shiro 的核心概念和使用方法...

    整合Apache Oltu 与 Shiro. 提供一个轻量的OAUTH2应用框架

    总之,整合Apache Oltu和Apache Shiro创建的轻量级OAUTH2应用框架,为Web应用和移动设备的安全提供了坚实的基础。通过合理的配置和扩展,开发者可以轻松地实现身份验证、授权和OAuth2的无缝集成,提高应用的安全性。

    apache-shiro教程完整版.7z

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。张开涛的《跟我学Shiro》是一本深入浅出的教程,旨在帮助读者快速掌握Shiro的核心概念...

    Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui实现通用用户权限管理系统

    4. **Apache Shiro**: Apache Shiro是一个强大且易用的Java安全框架,负责身份验证、授权(访问控制)、加密以及会话管理。在这个系统中,Shiro用于处理用户的登录、权限分配、会话管理等安全相关的任务,确保只有...

    Apache_Shiro_reference 使用文档(中文版) 共92页.pdf

    3. 会话管理(Session Management):Shiro不仅支持Web应用中的会话管理,也能在无Web环境(如桌面应用)中管理用户会话。Shiro的Session API可以让用户在各种应用环境下使用会话功能。 4. 加密(Cryptography):...

    Apache shiro权限控制基础配置代码

    Shiro提供了内置的会话管理功能,可以统一管理Web和非Web应用的会话。可以通过`sessionManager`配置项设置会话超时、存储方式(内存、Redis等)。 **6. 缓存(Caching)** 为了提高性能,Shiro支持缓存用户认证和...

    shiro最简单整合版本

    Apache Shiro 是一个强大且易用的...然而,实际项目中可能需要考虑更多细节,如会话管理、缓存策略、Web 应用的集成等。Shiro 提供了丰富的 API 和扩展点,可以根据项目需求进行定制和扩展,以满足各种复杂的安全场景。

Global site tag (gtag.js) - Google Analytics