spring sessionを使ってsession共有問題を解決します.
5767 ワード
WebプロジェクトにSpring Sessionを配置するには、4ステップに分けられます.
一、Maven依存導入
MavenやGradeのような依存管理器により、Spring Sessionをアプリケーションに追加することが容易です.
<dependency>
<groupId>org.springframework.sessiongroupId>
<artifactId>spring-session-data-redisartifactId>
<version>1.3.0.RELEASEversion>
<type>pomtype>
dependency>
<dependency>
<groupId>biz.paluch.redisgroupId>
<artifactId>lettuceartifactId>
<version>3.5.0.Finalversion>
dependency>
二、Springプロファイルを追加する配置する前に、redisをインストールして、redisに基づいて一連の構成を行う必要があります.Linuxの下のredisインストール教程:Linuxの下でredisをインストールして配置して、windowsの下で直接ウェブサイトはダウンロードして、実行します.必要な依存性を追加した後、対応するSpring構成を作成する必要があります.Spring構成は、コンテナ自体のHttpSessionをSpring Sessionで実現したServletフィルタを作成します.このステップはSpring Sessionの核心でもあります.(注意:対応するxml声明ファイルを追加したいです.)
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<bean class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory">
<property name="hostName" value="127.0.0.1"/>
<property name="port" value="6379"/>
bean>
<util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
三、web.xmlに該当するfilterフィルタを追加する.web.xmlに以下のフィルタを入れます.web.xmlに他のフィルタがある場合、Spring Sessionのフィルタは第一位に置くのが一般的です.
<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とRedisを使って分散Sessionのクロスドメイン共有問題を解決します.Spring session原理概要
Spring Sessionソリューション分布式Session問題の実現原理
初めてSpring Securityを知りました.
Spring Security 3ソース分析-FilterChanProxy初期化