欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

认证服务之springboot整合springSession(技术篇)

时间:2023-06-18
注:此次使用redis缓存进行整合,请在学习本章之前请先学习《springboot项目中使用redis缓存(技术篇)》 1.在框架中引入springsession的pom依赖

org.springframework.session spring-session-data-redis

2.自定义一些配置(按照自己的需求)

spring: session: # 设置session保存类型,这里保存在redis中 store-type: redisserver: # session默认的过期时间 servlet: session: timeout: 30m

3.配置redis(略) 4.在主启动类上添加一个注解(关于这个注解的说明如下)

@EnableRedisHttpSession //开启redis作为session的存储

The @EnableRedisHttpSession annotation creates a Spring Bean with the name of springSessionRepositoryFilter that implements Filter、The filter is in charge of replacing the HttpSession implementation to be backed by Spring Session、In this instance, Spring Session is backed by Redis.

5.向redis中存储的session,data对象的类一定要实现序列化接口

session.setAttribute("user",data);

6.默认发放的令牌,session=aaaaa,作用域:当前域(需要扩大到父域名作用范围)
另外需要使用json的序列化方式来序列化对象数据到redis中

@Configurationpublic class GulimallSessionConfig { @Bean public cookieSerializer getcookieSerializer(){ DefaultcookieSerializer cookieSerializer = new DefaultcookieSerializer(); //指定cookie的作用域和cookie的名字 cookieSerializer.setDomainName("父域名"); cookieSerializer.setcookieName("session名字"); //将对象放入容器中 return cookieSerializer; } @Bean public RedisSerializer getRedisSerializer(){ return new GenericJackson2JsonRedisSerializer(); }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。