Kullanıcı oturumunu uygulama seviyesinden bir Redis örneğine taşımayı düşünüyorum. Belgelere (http://docs.spring.io/spring-session/docs/current/reference/html5/#httpsession) göre doğru bir şekilde kurulmuş her şeye sahibim, ama beklediğim davranışları görmüyorum ve bir adımı atladığımı düşünüyorum.Spring Sessions HttpSession tamamen değiştirilemiyor JSESSIONID
uygulama şu anda HttpSession kullanır, bu yüzden sadece bağlamda aşağıdaki eklendi:
<context:annotation-config/>
<util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
<beans:bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<beans:bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="HOSTNAME" p:port="6379" />
Eklendi web.xml''deki için aşağıdaki:
<filter>
<filter-name>springSessionRepositoryFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSessionRepositoryFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
uygulama oluşturur, dağıtır ve yükler sayfa iyi, ancak sayfadaki çerezlere baktığımda hem JSESSIONID hem de SESSION var. Bildiğim JSESSIONID, Spring Security tarafından kullanılıyor ve SESSION'un Spring Session tarafından kullanıldığı anlaşılıyor. Redis içine baktığımda, saklanmakta olan SESSION gibi görünüyor.
Başka bir sorun, oturumda (session.setAttribute kullanılarak eklenen) özel oturum nesnelerinin gösterilmemesidir. Oturumda görünen tek şey, oturum açmaya başladığında ve SPRING_SECURITY_CONTEXT nesnesidir. Bahar Oturumu filtresini kaldırdığımda, bu nesneler oturuma eklenir.
Bu normal davranış mı, yoksa kurulumumdan dolayı garip bir çakışma var mı?
https://stackoverflow.com/questions/44303504/spring-session-unable-save-session-to-redis –