方法一:tomcat-redis-session-manager
具體原理呢,看圖
版本: tomcat 8.5.30 窑多、nginx 1.14.2、 redis 3.2.100洼滚、tomcat-redis-session-manager 3.0
具體步驟:
-
下載tomcat-redis-session-manager 工具
地址:https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki
-
解壓后將jar包放入 tomcat的lib文件夾中
-
將redis-data-cache.properties文件拷貝到tomcat的conf文件夾下埂息,配置根據(jù)自己的redis設(shè)置
-
配置tomcat的 context.xml文件,這里className路徑注意下(不知道的把下載的tomcat-cluster-redis-session-manager.jar 解壓遥巴,查看路徑)
<Valve className="tomcat.request.session.redis.SessionHandlerValve" /> <Manager className="tomcat.request.session.redis.SessionManager"/>
5.配置nginx.conf
測(cè)試:?jiǎn)?dòng)兩個(gè)tomcat 千康、redis、nginx
方法二:棄用session铲掐,使用token驗(yàn)證
具體實(shí)現(xiàn):
客戶端每次登陸拾弃,生成一個(gè)唯一的隨機(jī)字符串(key )和用戶信息(value)存入redis中,再?gòu)男陆ㄒ粋€(gè)hash摆霉,key存入token豪椿,value 存入登陸時(shí)間(如果需要token失效時(shí)間的話)。
客戶端請(qǐng)求時(shí)攔截器進(jìn)行驗(yàn)證携栋。
使用token驗(yàn)證砂碉,還可以實(shí)現(xiàn)單點(diǎn)登陸。具體就不說(shuō)了刻两,自己動(dòng)手試試吧哈哈哈哈哈