首页 > 编程知识 正文

session共享问题,单点登录session共享

时间:2023-05-06 04:12:09 阅读:32044 作者:4177

想法:

当浏览器登录会员服务时,用户信息存在于Session中,Session存在于Redis中,会员服务将SessionId返回给浏览器,并将SessionId的范围扩展到父域。 (会员服务、订单服务、商品服务均为子域); 当浏览器访问其他子域时,它将根据会话id在Redis中进行检查

Spring Session框架利用装饰者模型实现将SessionId的范围扩大到父域,在开发过程中集成Spring Session即可

SpringBoot集成Spring Session 1.依赖

ependencygroupidorg.spring framework.session/groupidartifactidspring-session-data-redis/artifact id/dependency 2

打开spring.session.store-type=redis # session redis3. spring session

@EnableRedisHttpSession 4.配置类以设置SessionId的范围

@ beanpubliccookieserializercookieserializer () defaultcookieserializerserializer=newdefaultcookieserializer ); 序列化器. setcookie name (jsessionid ); serializer.setDomainName ('父域); 返回串行器; (5.序列化

配置串行化器以确保对象在内存和redis之间传递

@ beanpublicredisserializerobjectspringsessiondefaultredisserializer ({ returnnewgenericjackson2jsonredisserializer ) }; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。