zoukankan      html  css  js  c++  java
  • shiro:session管理

    1、概念

    • Shiro进行认证和授权是基于session实现的,Shiro包含了对session的管理
    • 如果我们需要对session进行管理,需要自定义session管理器,并将自定义的session管理器设置给安全管理器

    2、session管理

    (1)在配置类中配置session管理器,并将其设置给安全管理器

     @Bean
        public DefaultWebSessionManager getDefaultWebSessionManager(){
            DefaultWebSessionManager defaultWebSessionManager=new DefaultWebSessionManager();
            defaultWebSessionManager.setGlobalSessionTimeout(15*1000);//15s
            return defaultWebSessionManager;
        }

    注意:过期时间的单位是ms

    (2)在安全管理其中设置session管理器

    @Bean
        public DefaultWebSecurityManager getDefaultWebSecurityManager(MyRealm myRealm,EhCacheManager ehCacheManager) {
            DefaultWebSecurityManager defaultSecurityManager = new DefaultWebSecurityManager();
            defaultSecurityManager.setRealm(myRealm);//SecurityManager完成校验需要realm
            defaultSecurityManager.setCacheManager(ehCacheManager);
            defaultSecurityManager.setSessionManager(getDefaultWebSessionManager());
            return defaultSecurityManager;
        }

    (3)测试

    输入账号密码进行登录:

     在15s内不进行登录,直接访问index页面,可以正常进入index页面,登录状态为已登录:

    15s后直接访问index页面,index页面的显示是未登录:

  • 相关阅读:
    枯燥的数据库“三级模式”
    SQL Server四个“系统数据库”作用的简介
    数据库的范式
    使用JMeter进行分布式性能测试
    使用JMeter测试你的EJB
    jmeter资源监控器开发——进入jmeter的源码世界
    如何解决使用JMeter时遇到的问题
    安装jmeter
    SMTP错误码/建议解决方法
    Jmeter接口测试 实例
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13752975.html
Copyright © 2011-2022 走看看