• Shiro 会话管理&缓存管理


    前言

            上一篇文章分享了shiro的授权与注解式开发。本篇文章将要分享shiro的会话管理以及缓存管理。


    一、会话管理

            Shiro独立的会话管理,包含了单点登录的业务场景;

            1.1会话监听器

    1. package com.zhw.shiro;
    2. import org.apache.shiro.session.Session;
    3. import org.apache.shiro.session.SessionListener;
    4. /**
    5. * @author louis
    6. * @create  2022-08-27 10:54
    7. */
    8. public class ShiroSessionListener implements SessionListener {
    9. @Override
    10. public void onStart(Session session) {
    11. System.out.println("ShiroSessionListener.onStart..."+session.getId());
    12. }
    13. @Override
    14. public void onStop(Session session) {
    15. System.out.println("ShiroSessionListener.onStop..."+session.getId());
    16. }
    17. @Override
    18. public void onExpiration(Session session) {
    19. System.out.println("ShiroSessionListener.onExpiration..."+session.getId());
    20. }
    21. }

            1.2、配置applicationContext-Shiro.xml 文件

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    5. <bean id="shiroRealm" class="com.zhw.MyRealm">
    6. <property name="userBiz" ref="userBiz" />
    7. <property name="credentialsMatcher">
    8. <bean id="credentialsMatcher" class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
    9. <property name="hashAlgorithmName" value="md5"/>
    10. <property name="hashIterations" value="1024"/>
    11. <property name="storedCredentialsHexEncoded" value="true"/>
    12. bean>
    13. property>
    14. bean>
    15. <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
    16. <property name="realm" ref="shiroRealm" />
    17. <property name="sessionManager" ref="sessionManager">property>
    18. bean>
    19. <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
    20. <property name="securityManager" ref="securityManager" />
    21. <property name="loginUrl" value="/login"/>
    22. <property name="unauthorizedUrl&#
  • 相关阅读:
    深入实战:构建现代化的Web前端应用
    C51--项目--感应开关盖垃圾桶
    HttpServlet学习中的常见问题(个人珍藏笔记)
    RabbitMq:RabbitMq消息中的相关处理 ③
    阿里云安全恶意程序检测(速通二)
    聊聊SQL语句中 DDL 、DML 、DQL 、DCL 分别是什么
    时间复杂度与空间复杂度
    STM32 Bootloader开发记录 2
    大数据必学Java基础(八十八):通过案例和概念体会反射的好处
    python中多行注释与取消注释
  • 原文地址:https://blog.csdn.net/qq_62331938/article/details/126559435