Spring Session
6731 ワード
Spring Session
概要
Spring Sessionはユーザーsessionを管理するAPIと実現を提供し、直接クラスタ環境Sesison管理、単一ブラウザの複数のSession、RESTful APIs Session、クラスタSession管理統合はアプリケーションコンテナに依存しない.SessionストレージRedis、GemFire、JDBC、Mongoをサポートします.Spring Session docsを参照してください
Redisストレージセッションの使用
Redisは広く使用され、性能が優れ、クラスタ環境に適している.Spring Boot統合を使用すると、より便利になります:1.spring-session依存2を加える.spring-data-redis依存3を加える.
Javaコード構成に基づくSpring Sessionの統合加入依存 @EnableRedisHttpSessionを構成クラスに追加し、JedisConnectionFactory Bean を構成します. A b s t r a c t H t p S e s e ssionApplicationInitializerを継承し、親メソッドを呼び出す参照なしで構成クラス に転送する
XMLベース構成統合Spring Session注釈構成を有効にするRedisHttpSessionConfiguration、JedisConnectionFactory Bean webを構成する.xmlはDelegatingFilterProxy に加入
Spring Session RESTFul APIs
Spring SessionはRESTFul APISをサポートし、応答してx-auth-tokenを最初に返し、現在のsessionのtokenを識別する.
Javaコード構成に基づく統合Spring SessionサポートRESTFul APIs
Spring Sessionが1つのHttpSessionStrategy beanを複数構成する必要がある
概要
Spring Sessionはユーザーsessionを管理するAPIと実現を提供し、直接クラスタ環境Sesison管理、単一ブラウザの複数のSession、RESTful APIs Session、クラスタSession管理統合はアプリケーションコンテナに依存しない.SessionストレージRedis、GemFire、JDBC、Mongoをサポートします.Spring Session docsを参照してください
Redisストレージセッションの使用
Redisは広く使用され、性能が優れ、クラスタ環境に適している.Spring Boot統合を使用すると、より便利になります:1.spring-session依存2を加える.spring-data-redis依存3を加える.
@EnableRedisHttpSession
以下はSpring Boot統合Spring Sessionを使用しないものです.Javaコード構成に基づくSpring Sessionの統合
<dependency>
<groupId>org.springframework.sessiongroupId>
<artifactId>spring-session-data-redisartifactId>
<version>1.2.0.RELEASEversion>
<type>pomtype>
dependency>
@Configuration
@EnableRedisHttpSession
public class SessionConfig {
@Bean
public JedisConnectionFactory connectionFactory() {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName("172.16.31.84"); // localhost
jedisConnectionFactory.setPort(6379); // 6379
jedisConnectionFactory.setDatabase(0); // 0
jedisConnectionFactory.afterPropertiesSet();
return jedisConnectionFactory;
}
}
public class SessionInitializer extends AbstractHttpSessionApplicationInitializer{
public SessionInitializer() {
super(SessionConfig .class);
}
}
XMLベース構成統合Spring Session
<context:annotation-config />
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" />
<bean class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="172.16.31.84" />
<property name="port" value="6379" />
bean>
<filter>
<filter-name>springSessionRepositoryFilterfilter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxyfilter-class>
filter>
<filter-mapping>
<filter-name>springSessionRepositoryFilterfilter-name>
<url-pattern>/*url-pattern>
<dispatcher>REQUESTdispatcher>
<dispatcher>ERRORdispatcher>
filter-mapping>
Spring Session RESTFul APIs
Spring SessionはRESTFul APISをサポートし、応答してx-auth-tokenを最初に返し、現在のsessionのtokenを識別する.
Javaコード構成に基づく統合Spring SessionサポートRESTFul APIs
Spring Sessionが1つのHttpSessionStrategy beanを複数構成する必要がある
@Bean
public HttpSessionStrategy httpSessionStrategy() {
HeaderHttpSessionStrategy headerHttpSessionStrategy = new HeaderHttpSessionStrategy();
headerHttpSessionStrategy.setHeaderName("Auth-Token");
return headerHttpSessionStrategy;
}