shiro会话&缓存

本文详细介绍了Apache Shiro的会话管理和缓存机制。会话部分讲解了Shiro如何提供企业级会话管理,包括会话监听器在用户登录、登出和过期时的执行。缓存部分阐述了为何使用缓存提高效率,以及Ehcache作为缓存框架的特点和优势,包括其高速、简单、轻量级以及分布式缓存支持。
摘要由CSDN通过智能技术生成

目录

一,会话

二,缓存


一,会话

Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如Tomcat),不管是J2SE还是J2EE环境都可以使用,提供了会话管理,会话事件监听,会话存储/持久化,容器无关的集群,失效/过期支持,对Web的透明支持,SSO单点登录的支持等特性。
  
  所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。如访问一些网站时登录成功后,网站可以记住用户,且在退出之前都可以识别当前用户是谁。
 

会话监听器:

package com.hmj.ssm.shiro;

import org.apache.shiro.session.Session;
import org.apache.shiro.session.SessionListener;

/**
 * @author 小何吖
 * @create 2022-08-27 11:08
 *
 * 会话监听器
 */
public class MySessionListener implements SessionListener {
    @Override
    public void onStart(Session session) {
        System.out.println("MySessionListener.onstart..." + session.getId());
    }

    @Override
    public void onStop(Session session) {
        System.out.println("MySessionListener.onStop..." + session.getId());
    }

    @Override
    public void onExpiration(Session session) {
        System.out.println("MySessionListener.onExpiration..." + session.getId());
    }
}

apllicationContext-shiro.xml

  <!--注册安全管理器-->
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <property name="realm" ref="shiroRealm" />
        <property name="sessionManager" ref="sessionManager"></property>
    </bean>

<!-- Session ID 生成器 -->
    <bean id="sessionIdGenerator" class="org.apache.shiro.session.mgt.eis.JavaUuidSessionIdGenerator">
    </bean>

    <!--sessionDao自定义会话管理,针对Session会话进行CRUD操作-->
    <bean id="customSessionDao" class="org.apache.shiro.session.mgt.eis.MemorySessionDAO">
        <property name="sessionIdGenerator" ref="sessionIdGenerator"/>
    </bean>

    <!--会话监听器-->
    <bean id="shiroSessionListener" class="com.hmj.ssm.shiro.MySessionListener"/>

    <!--会话cookie模板-->
    <bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
        <!--设置cookie的name-->
        <constructor-arg value="shiro.session"/>
        <!--设置cookie有效时间-->
        <property name="maxAge" value="-1"/>
        <!--设置httpOnly-->
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值