日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

[译]Spring Session 与 Spring Security

發布時間:2025/4/16 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译]Spring Session 与 Spring Security 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:http://docs.spring.io/spring-session/docs/current-SNAPSHOT/reference/html5/guides/security.html

本指南介紹如何將Spring Session與Spring Security一起使用。它假定您已經應用Spring Security到您的應用程序。

完整的指導可以在這里找到。

更新依賴

你用Spring Session之前,你必須確保更新你的依賴。如果你正在使用Maven,確保添加以下依存關系:

文件名:pom.xml

<dependencies><!-- ... --><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId><version>1.3.0.BUILD-SNAPSHOT</version><type>pom</type></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.2.5.RELEASE</version></dependency> </dependencies>

由于我們使用的是快照版本,我們需要確保添加Spring快照Maven倉庫。確保你的pom.xml包含如下內容:

文件名:pom.xml

<repositories><!-- ... --><repository><id>spring-snapshot</id><url>https://repo.spring.io/libs-snapshot</url></repository> </repositories>

Spring 配置

添加必需的依賴關系之后,我們就可以開始創建Spring配置。Spring配置負責創建一個Spring Session實現的Servlet過濾器來取代HttpSession實現的過濾器。增加如下Spring配置:

@Configuration @EnableRedisHttpSession public class Config {@Beanpublic JedisConnectionFactory connectionFactory() {return new JedisConnectionFactory(); } }
  • EnableRedisHttpSession創建了一個名為springSessionRepositoryFilter的Spring Bean來實現過濾器。這個由Spring Session實現的過濾器是負責替換HttpSession的實現。在這種情況下,Spring Session由redis支持。

  • 然后創建了一個RedisConnectionFactory來連接Spring Session到地址是localhost,端口為6379的redis服務器。更多關于配置Spring Data Redis的信息可以參考這個文檔。

  • Servlet Container 初始化

    上面的Spring 配置創建了一個名為springSessionRepositoryFilter的Spring Bean,為了讓我們這個過濾器生效,Spring需要加載這個Config類。

    由于我們的應用已經使用SecurityInitializer來加載Spring的配置,我們可以簡單地把Config類加進去:

    文件名:SecurityInitializer.java

    public class SecurityInitializer extends AbstractSecurityWebApplicationInitializer {public SecurityInitializer() {super(SecurityConfig.class, Config.class);} }

    最后我們需要確保Servlet Container(如Tomcat)為每一個請求用上我們的springSessionRepositoryFilter。確保Spring Session的springSessionRepositoryFilter在springSecurityFilterChain之前調用非常重要,幸運的是,Spring Session提供了一個叫做AbstractHttpSessionApplicationInitializer的工具類讓這件事變得超級容易。你可以按下面這么寫:

    文件名:Initializer.java

    public class Initializer extends AbstractHttpSessionApplicationInitializer {}

    類的名字(Initializer)并不重要,重要的是我們繼承了AbstractHttpSessionApplicationInitializer類

    通過繼承AbstractHttpSessionApplicationInitializer類,我們確保了springSessionRepositoryFilter在springSecurityFilterChain之前調用。

    Security 示例程序

    運行 Security 示例程序

    你可以獲取源碼,輸入下面的命令,來運行 Security 示例程序。

    為了讓示例程序正常工作,你必須安裝Redis 2.8+在本地(localhost),并運行在6379端口?;蛘?#xff0c;你也可以修改JedisConnectionFactory來指定一個Redis服務器

    $ ./gradlew :samples:security:tomcatRun

    現在你應該可以訪問http://localhost:8080/了

    訪問 Security 示例程序

    試著開始用這個Web應用,輸入下面的用戶名密碼來登錄:

    • 用戶名:user

    • 密碼:password

    接著點擊“login”按鈕,你應該能夠看到一個提示你已經用user登錄的消息。用戶的登錄信息此時保存在Redis中而不是Tomcat所實現的HttpSession中。

    它是如何工作的

    我們實際上是在持久化登錄信息到Redis中,而不是Tomcat所實現的HttpSession。Spring Session代替了HttpSession,并使用Redis來存儲數據:當Spring Security的SecurityContextPersistenceFilter保存SecurityContext到HttpSession對象中時,他就會被持久化到Redis里。

    對于Spring Security來說,當一個新的HttpSession被創建,Spring Session生成了一個名為SESSION的cookie發送到你的瀏覽器,它包含了這個Session的id。你可以到瀏覽器中看到這個Cookie(這里有Chrome和Firefox關于Cookie的幫助)。

    如果你愿意,你可以很容易用redis-cli從Redis中刪掉剛才生成的Session。比如,在一個類Linux系統中你可以這么操作:

    $ redis-cli keys '*' | xargs redis-cli del

    Redis的文檔中有說明如何安裝redis-cli

    或者,你也可以指定去刪除某個key。例如輸入下面的命令:

    $ redis-cli del spring:session:sessions:7e8383a4-082c-4ffe-a4bc-c40fd3363c5e

    現在訪問http://localhost:8080/,你會發現剛才的登錄認證已經取消了。

    總結

    以上是生活随笔為你收集整理的[译]Spring Session 与 Spring Security的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产伦精品一区二区 | 国产福利91| www日韩在线 | 麻豆免费观看网站 | 日日日夜夜操 | 亚洲码欧美码一区二区三区 | 欧美亚洲视频 | 97超碰97 | 久久密av| 成人亚洲玉足脚交系列 | 精品国产一区二区三区无码 | 琪琪色视频 | 日韩黄色成人 | 男人免费网站 | 亚洲熟女综合色一区二区三区 | 久久精品一区 | 亚洲国产成人精品视频 | 99久久婷婷 | 热热99| 国模在线观看 | 肉大榛一进一出免费视频 | 色欧美在线 | 超碰免费在线观看 | 一级高清毛片 | 黄网址在线观看 | 国产亚洲精品精品精品 | wwxx日本| 污视频免费在线 | 国产一卡在线 | 亚洲不卡影院 | 大陆女明星乱淫合集 | 日韩人妻无码精品久久免费 | 夫妻啪啪呻吟x一88av | 亚洲三区在线观看无套内射 | 国内精品久久久久久久久久久 | 成人7777| 永久免费看mv网站入口亚洲 | 国产盗摄在线观看 | 凹凸国产熟女精品视频 | 国产强被迫伦姧在线观看无码 | 私人影院毛片 | 中文字幕在线日韩 | 日韩中文网 | 嫩草研究院在线 | 欧美日韩亚洲一区 | 中文在线a√在线 | 欧美aa一级 | 黄色最新网址 | 97视频一区二区三区 | 裸体av淫导航 | 亚洲 小说 欧美 激情 另类 | 日韩中文字幕一区二区三区 | 亚洲成人一二区 | 夜夜爽日日澡人人添 | 少妇25p| 你懂的在线视频网站 | 超碰88| 亚洲男女在线 | av在线资源网 | 成人爽a毛片一区二区 | 国产l精品国产亚洲区久久 午夜青青草 | 亚洲成人乱码 | 91综合视频 | 在线免费观看一区 | 欧美精品性生活 | av地址在线 | 久久奇米| 永久久久久久 | 久久综合干 | 污污免费在线观看 | 美女扣逼喷水视频 | 鲁大师私人影院在线观看 | 久久人人爽天天玩人人妻精品 | 久久久久久久久久一区 | 久久影视一区 | h片免费在线观看 | 久久99精品久久久久子伦 | 亚洲三级在线观看 | 在线免费黄网 | 午夜999| 欧美日韩精品二区 | 九草网 | 欧美午夜精品一区二区三区 | 爽妇网av | 永久免费看成人av的动态图 | 91丨porny丨对白 | 日韩欧美视频免费观看 | 美女午夜激情 | 国产男女精品 | 国产一区二区精品久久 | 日日骑 | a v免费视频 | 少妇2做爰交换朴银狐 | 嫩草亚洲| 黄色变态网站 | 日韩二区| 日韩一区二区精品视频 | 中文字幕av解说 | 亚洲精品3|