• 那一夜
    2019-07-05
    老师你好,我想问一下这个分布式环境下session主要是用于什么场景,因为目前做的系统,接口请求都是根据token来认证的,然后token存redis里面,基本上没怎么使用session

    作者回复: 你们只是做了认证,很多时候还需要通过Session共享一些东西。其实大家套路差不多,你们是自己一个Token存Redis,Session是拿jsessionid作为KEY存了内容到Redis。

    
     2
  • WL
    2019-04-01
    请问一下老师两个问题
    1. 分布式session的sessionId也是存在cookie中的那么如果几个系统域名不同的话怎么使用分布式的sessionId?
    2. 老师能不能分析一下DelegatingFilterProxy, 对于过滤链的机制和DelegatingFilterProxy具体咋代理的不是很理解.

    作者回复: 先回答1吧,不同域名的Cookie是不一样的,如果是不同二级域名,你可以把这个SessionId放到一级域名的Cookie里。假设,我们要做个认证的系统,同时为不同域名的系统提供统一登录(就是SSO或Passport),那其实就是跳转另一个系统时,我把自己的Token带过去,它那里收到了之后拿这个Token再去换个自己的Token,这些Token在系统里都能对应到同一个身份,再对应到一份会话数据上。建议分布式Session里放的东西越少越好。

    
     2
  • Hax。
    2019-07-22
    想问下spirng session 如何自动刷新过期时间呢,比如设置session过期时间一个小时,中间无论你怎么操作,只要是离你登录一个小时,妥妥的直接过期。我想要中间有操作就自动刷新过期时间
    
     1
  • 白马度和
    2019-06-17
    官方文档有说。

    https://docs.spring.io/spring-session/docs/2.1.5.RELEASE/reference/html5/guides/boot-redis.html#boot-spring-configuration

    Under the hood, Spring Boot applies configuration that is equivalent to manually adding @EnableRedisHttpSession annotation.
    展开
    
     1
  • 平淡人生
    2019-06-03
    实际开发中分布式Session解决方案现在感觉很少用,大家都在使用OAuth2,无非就是支持不知吃JWT。感觉老师在当前课程中没有讲spring security是一大遗憾。

    作者回复: OAuth和JWT和我们在说的分布式Session不是一个话题诶……

    
     1
  • ABC
    2019-03-31
    我遇到个问题,https://gitee.com/pruidong/FunSpringFamily/blob/master/Chapter8/session-demo/src/main/resources/question.gif,就是重启之后,输入另外的名称,刷新一下,session就变了,请问老师,这是正常的吗?谢谢.

    作者回复: 你用Chrome的开发者工具看看网络请求,里面的Cookie,看看SESSION内容是否发生了变化,如果变了,那就是另一个HttpSession了,可以在Redis里看到又多了一组。

    
     1
  • 杨槐
    2019-03-29
    如何保证这个session失效呢,有实效时间设置吗 还有看了视频发现这个框架集成度高,可以自己自定义这个session信息吗, 可以和jwt结合吗?

    作者回复: JWT就是另外一个话题了,Spring也提供了一些支持,可以看看spring-security-jwt。失效时间也是可以设置的,server.servlet.session.timeout就是干这个的。

    
     1
  • york
    2019-08-19
    老师,spring.session.timeout好像不起作用,比如在demo工程中设置为spring.session.timeout=30s,过30秒后,服务端返回的结果还是之前的值。另外,session timeout和redis的过期时间之间有什么关系吗?
    
    
  • grey927
    2019-07-16
    我们的一个单体应用某个模块改成了微服务,单体应用是通过Spring Cloud Gateway去访问微服务的,流程是这样:
    单体--->Spring Cloud Gateway--->UserService
    但是,一旦我们单体应用访问过一次微服务了,单体应用再点击其他模块的时候,都要直接跳转到了登录页面(正常的话不应该要跳转到登录页面),经排查发现,单体应用在访问过一次微服务以后,Session就变了,这种情况,我们是不是应该在Spring Cloud Gateway上加EnableRedisSession呢?

    作者回复: 一般我们只在前端系统,与用户浏览器交互的地方加权限什么的。看你的描述,单体应用是对浏览器的,那你的Spring Cloud Gateway也是外部可访问的?应该是单体应用去访问它的吧,那这个Gateway不直接面向用户,它后面的系统就更远了。它不应该会影响到单体应用上的Session才对。我们是不是仔细想想为什么走REST调用后端后前端的Session会变,再来想怎么解决。

    
    
  • Roy Liang
    2019-06-21
    我这边运行session-demo,重启服务端,session会变,不知道什么情况,后端也是redis,程序和配置都没有修改过

    作者回复: 看看你传给后端的sessionid有没有变化呢

    
    
  • 白马度和
    2019-06-17
    实验了一下,不加@EnableRedisHttpSession也可以配置成功。
    官方文档再spring boot 场景下也没有要求加该注解。

    作者回复: Spring Boot做了很多自动配置,所以用了Spring Boot很多东西都可以不用加了。

    
    
  • 徐云天
    2019-05-03
    老师,axios异步请求每次的Session id都不一样,我该怎么解决?有没有什么好的解决办法呢?
    
    
  • 齐红飞
    2019-04-16
    比如在微信里的内嵌网页,感觉session Id 老变。明明这个人还没有退出
    
    
  • Seven.Lin澤耿
    2019-03-29
    jwt的话应该是基于cookie模式了吧,这个时候登录信息已经保存在客户端了,已经和服务端的分布式系统没有多大关系了吧
    
    
我们在线,来聊聊吧