我在项目中按照这个方法:
https://www.cnblogs.com/yanggb/p/10886520.html
加入spring session想实现session的共享,但是我现在不跨域访问,每次请求接口的时候获取到的sessionId都不一致是什么原因导致的呢?
后来我把下面这两段代码注释掉请求获取到的sessionId就一样了
package com.test.common.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 3600)
public class SessionConfig {
@Value("${redis.hostname:localhost}")
private String hostName;
@Value("${redis.port:6379}")
private int port;
// @Value("${redis.password}")
// private String password;
@Bean
public JedisConnectionFactory jedisConnectionFactory(){
RedisStandaloneConfiguration redisStandaloneConfiguration=new RedisStandaloneConfiguration();
redisStandaloneConfiguration.setHostName(hostName);
redisStandaloneConfiguration.setPort(port);
// redisStandaloneConfiguration.setPassword(password);
redisStandaloneConfiguration.setDatabase(0);
return new JedisConnectionFactory(redisStandaloneConfiguration);
}
@Bean
public StringRedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
return new StringRedisTemplate(redisConnectionFactory);
}
}
package com.test.user.config;
import com.test.common.config.SessionConfig;
import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer;
public class RedisSessionInitializer extends AbstractHttpSessionApplicationInitializer {
public RedisSessionInitializer(){
super(SessionConfig.class);
}
}
问题出在哪里啊~
下面是我后台打印的日志: