日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring session實現共享單點登錄案例過程解析

瀏覽:19日期:2023-08-30 15:29:11

一、項目構建

1、案例說明

本文主要演示單點登錄功能,會貼出主要配置和代碼以及必要解釋,全部代碼請參考git地址。session共享一個基本原則是將session存儲在某個地方,所有的應用都可以訪問,這里使用redis存儲session。當應用需要認證時,先從redis讀取用戶信息。

2、基本配置

1)pom.xml

<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId></dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId></dependency><dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>1.3.1.RELEASE</version></dependency>

2)application.properties

server.port=8080spring.session.store-type = redisspring.redis.host=192.168.7.151spring.redis.port=6379

本案例的兩個應用完全一樣,一個端口是8080,一個端口是80

3、代碼變動

1)新增SimpleImageCode.java

public class SimpleImageCode implements Serializable{ private static final long serialVersionUID = 1L; private String code; private LocalDateTime expireTime; public SimpleImageCode(String code,LocalDateTime expireTime) { this.code = code; this.expireTime = expireTime; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public LocalDateTime getExpireTime() { return expireTime; } public void setExpireTime(LocalDateTime expireTime) { this.expireTime = expireTime; } public boolean isExpried() { return LocalDateTime.now().isAfter(expireTime); }}

該類與ImageCode.java基本一樣,區別1:實現了Serializable接口;區別2:沒有BufferedImage屬性。原因是圖形驗證碼要放入session中,而session需要存放到redis中,所以必須實現序列化接口。一個類實現序列化接口,它里面的類屬性也要實現序列化接口,但是BufferedImage是jdk的類,無法實現序列化接口,這樣就不把它放入到redis中,在校驗時,我么只會校驗驗證碼和過期時間,所以不會影響。

2)修改ValidateCodeController.java

@GetMapping('/code/image')public void createCode(HttpServletRequest request,HttpServletResponse response) throws Exception { ImageCode imageCode = createImageCode(request); SimpleImageCode simpleImageCode = new SimpleImageCode(imageCode.getCode(),imageCode.getExpireTime()); //request.getSession().setAttribute('imageCodeSession', imageCode); request.getSession().setAttribute('imageCodeSession', simpleImageCode);//序列化到redis中 ImageIO.write(imageCode.getImage(), 'JPEG', response.getOutputStream()); }

將SimpleImageCode放入到session中

3)修改ValidateCodeFilter.java

private void validate(HttpServletRequest request){//ImageCode codeInSession = (ImageCode)request.getSession().getAttribute('imageCodeSession'); SimpleImageCode codeInSession = (SimpleImageCode)request.getSession().getAttribute('imageCodeSession'); String codeInRequest = request.getParameter('imageCode'); ... ...//校驗邏輯 request.getSession().removeAttribute('imageCodeSession'); }

校驗驗證碼前從session中取出SimpleImageCode

  二、測試驗證

1)啟動redis、80端口應用、8080端口應用,查看redis信息為空,如下:

Spring session實現共享單點登錄案例過程解析

2)瀏覽器輸入:localhost:8080/index.html,跳轉登錄頁面,查看redis,如下:

Spring session實現共享單點登錄案例過程解析

3)登錄后,查看redis,如下:

Spring session實現共享單點登錄案例過程解析

4)同一個瀏覽器輸入:localhost/index.html,直接跳到index頁面,查看redis,如下:

Spring session實現共享單點登錄案例過程解析

5)點擊index.html中的退出連接,查看redis,如下:

Spring session實現共享單點登錄案例過程解析

6)再次訪問localhost:8080/index.html,跳轉登錄頁面,查看redis,如下:

Spring session實現共享單點登錄案例過程解析

7)再次登錄8080的應用,查看redis,如下:

Spring session實現共享單點登錄案例過程解析

通過測試發現實現了單點登錄。貼出截圖只是說明session存在了redis中,并且會隨著操作變化。實際無需關心redis。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷国产精品| 精品久久亚洲| 电影91久久久| 欧美午夜精彩| 一区在线视频观看| 亚洲精品进入| 亚洲国产福利| 波多视频一区| 欧美精品一卡| 亚洲人成毛片在线播放女女| 日本天堂一区| 国产精品一区二区美女视频免费看 | 麻豆国产欧美一区二区三区| 日韩av中文字幕一区二区| 老司机免费视频一区二区| 国产超碰精品| 亚洲欧洲日本mm| 欧美日韩一区二区三区不卡视频| 日韩成人综合| 免费日韩av片| 美女高潮久久久| 欧美在线影院| 欧美国产极品| 免费视频一区二区| 成人精品中文字幕| 国产精品av一区二区| 首页欧美精品中文字幕| 美女国产精品久久久| 国产高清亚洲| 视频精品一区二区| 精品一区电影| 视频一区二区三区中文字幕| 国产一区二区三区91| 一本一道久久a久久精品蜜桃| 欧美精品97| 欧美日韩国产亚洲一区| 日韩1区2区日韩1区2区| 伊人精品一区| 欧美丰满日韩| 人人爱人人干婷婷丁香亚洲| 日韩一级不卡| 97在线精品| 日韩不卡手机在线v区| 亚洲免费激情| 激情久久久久久| 国产一区久久| 国产伊人久久| 久久精品资源| 欧美激情三区| 日韩av三区| 日韩精品一级二级| 欧洲一级精品| 中文字幕色婷婷在线视频| 日本va欧美va欧美va精品| 亚洲美女久久| 蜜桃视频一区二区| 日韩国产一区二| 国产99精品一区| 国产精品伦理久久久久久| 国产精品99精品一区二区三区∴| 国产亚洲久久| 亚洲精品伊人| 在线国产一区二区| 免费欧美日韩| 日本色综合中文字幕| 亚洲精品国产精品粉嫩| 视频一区二区三区中文字幕| 亚洲丝袜啪啪| 亚洲综合国产| 日本a级不卡| 日本久久二区| 国产欧美日韩一级| 精品国产鲁一鲁****| 国产91在线精品| 亚洲午夜一级| 日本中文字幕一区二区视频| 日韩精品一区二区三区中文字幕| 91亚洲无吗| 日韩电影免费网站| 狠狠干成人综合网| 奇米777国产一区国产二区| 国产精品igao视频网网址不卡日韩| 久久久亚洲欧洲日产| 99久久精品费精品国产| 亚洲人妖在线| 精品午夜视频| 免费精品视频| 精品国产欧美日韩| 亚洲综合三区| 特黄毛片在线观看| 日本在线不卡视频一二三区| 美日韩一区二区三区| 久久久精品网| 欧美永久精品| 国产v综合v| 免费日韩一区二区三区| 美女网站久久| 亚洲精品永久免费视频| 亚洲精品看片| 亚洲大全视频| 国产aa精品| 亚洲婷婷丁香| 91精品精品| 91精品啪在线观看国产爱臀| 999国产精品| 亚洲成av在线| 91大神在线观看线路一区| 亚洲精品88| 精品99在线| 一区二区三区四区精品视频| 激情综合激情| 亚洲深夜视频| 国产在线观看91一区二区三区| 老牛影视一区二区三区| 日韩在线免费| 午夜国产精品视频| 午夜精品网站| 不卡在线一区| 黄色aa久久| 色网在线免费观看| 国内不卡的一区二区三区中文字幕| 三级在线观看一区二区| 在线一区电影| 日韩精品一区二区三区免费观影| 日韩一区自拍| 中文在线а√在线8| 日韩国产欧美| 伊人网在线播放| 9999国产精品| 精品国产午夜肉伦伦影院| 精品视频在线你懂得| 麻豆精品久久| 精品久久精品| av中文资源在线资源免费观看| av资源中文在线天堂| 中文字幕在线官网| 欧美91精品| japanese国产精品| 蜜臀精品一区二区三区在线观看| 日韩高清中文字幕一区| 国产不卡av一区二区| 亚洲成人精品| 免费视频久久| 日本不卡一区二区| 国产精品对白久久久久粗| 天堂网av成人| 日本a级不卡| 日韩一区电影| 精品中文字幕一区二区三区av| 999在线观看精品免费不卡网站| 亚洲精品乱码| 久久国产乱子精品免费女| 国产精品magnet| 久久久久国产一区二区| 国产亚洲一区在线| 国产精品一区免费在线| 欧美日中文字幕| 国产欧美午夜| 亚洲国产成人精品女人| 蜜桃av一区二区在线观看| 欧美亚洲福利| 久久国产亚洲| 色婷婷成人网| 成人在线黄色| 蜜桃视频在线观看一区二区| 国产日产一区| 国产福利片在线观看| 男人天堂欧美日韩| 红杏一区二区三区| 手机精品视频在线观看| 国产精品xxxav免费视频| 日本黄色精品| 99热精品在线| 免费高潮视频95在线观看网站| 日韩精品视频在线看| 国产精选在线| 91精品国产自产在线丝袜啪| 婷婷成人基地| 午夜精品久久久久久久久久蜜桃| 一区二区精品| 久久精品国语| 国产在线视频欧美一区| 亚洲1区在线| 中文精品视频| 欧美一级精品| 欧美搞黄网站| 久久亚洲成人| 欧美不卡高清一区二区三区| 国产精品yjizz视频网| 精品国产乱码久久久| 国产日韩三级| 日韩va欧美va亚洲va久久| 亚洲精品a级片| 久久久久久久久99精品大| 久久精品一区二区国产| 欧美日韩xxxx| 日本不卡视频在线观看| 亚洲自啪免费| 日韩久久99| 蜜臀久久99精品久久久久久9|