想法:
当浏览器登录会员服务时,用户信息存在于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 ) }; }