本篇內(nèi)容主要講解“如何實現(xiàn)spring cloud各個服務(wù)共享session登錄用戶信息”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現(xiàn)spring cloud各個服務(wù)共享session登錄用戶信息”吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、成都網(wǎng)站維護、網(wǎng)站推廣。
有3種解決的方案:
1.tomcat的session共享
優(yōu)點:不需要額外開發(fā),只需搭建tomcat集群即可
缺點:tomcat 是全局session復制,集群內(nèi)每個tomcat的session完全同步保存著全部的session, 在大規(guī)模應(yīng)用的時候,用戶過多,集群內(nèi)tomcat數(shù)量過多,session的全局復制會導致集群性能下降, 因此,tomcat的數(shù)量不能太多,而且依賴tomcat容器移植性不好(所以不采用)
2.用cookie同步session
這種完全把客戶的登陸信息保存在客戶端的cookie中,每次請求帶著cookie中的Token
優(yōu)點:由于完全舍棄了session 會減輕服務(wù)器端的壓力。
缺點:是把信息暴露在外,就算有加密算法還是存在安全問題。禁止使用cookie的情況下無效。
3.redis 集中管理session(常用的方式)
優(yōu)點:redis為內(nèi)存數(shù)據(jù)庫,讀寫效率高,并可在集群環(huán)境下做高可用
下面就介紹下第三種的實現(xiàn)方式 spring boot 整合 redis session 做的session共享
一、加入依賴
Xml代碼
org.springframework.boot spring-boot-starter-data-redis org.springframework.session spring-session-data-redis
二、yml文件
Yml代碼
server: port: 8080 spring: application: name: test-session redis: password: 12345678 database: 0 host: 127.0.0.1 port: 6379
三 啟動類加入 @EnableRedisHttpSession
Java代碼
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @EnableEurekaServer @SpringBootApplication @EnableRedisHttpSession //java項目www.fhadmin.orgpublic class EurekaServerApplication { public static void main(String[] args) SpringApplication.run(EurekaServerApplication.class, args); } }
到此,相信大家對“如何實現(xiàn)spring cloud各個服務(wù)共享session登錄用戶信息”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!