亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于session?Redis實(shí)現(xiàn)登錄

 更新時(shí)間:2023年10月19日 08:39:13   作者:Ambition的后花園  
這篇文章主要介紹了基于session?Redis實(shí)現(xiàn)登錄的相關(guān)資料,需要的朋友可以參考下

Redis實(shí)現(xiàn)登錄(基于session)

攔截器:實(shí)現(xiàn)多模塊用戶登錄的校驗(yàn)

代碼:

創(chuàng)建攔截器

public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //1.獲取session
        HttpSession session = request.getSession();
        //2.獲取session中的用戶
        Object user = session.getAttribute("user");
        //3.判讀用戶是否存在
        if (user == null) {
            //不存在,攔截,返回401狀態(tài)碼
            response.setStatus(401);
            return false;
        }
        //5.存在,保存用戶信息到 ThreadLocal ThreadLocal 線程隔離
        UserHolder.saveUser((UserDTO) user);
        return true;
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        UserHolder.removeUser();
    }
}

WebMvcConfigurer配置接口是Spring內(nèi)部的一種配置方式,采用JavaBean的形式來代替?zhèn)鹘y(tǒng)的xml配置文件形式進(jìn)行針對(duì)框架個(gè)性化定制。接口提供了很多方法讓我們來定制SpringMVC的配置??梢杂脕碜远x處理器、攔截器、視圖解析器、轉(zhuǎn)換器、設(shè)置跨域等。

  • SpringBoot1.5版本前都是靠重寫WebMvcConfigurerAdapter的方法來添加自定義攔截器,消息轉(zhuǎn)換器等。
  • SpringBoot2.0版本后,WebMvcConfigurerAdapter類被標(biāo)記為@Deprecated。推薦下面兩種方式:
  • 實(shí)現(xiàn)WebMvcConfigurer接口(推薦);
  • 繼承WebMvcConfigurationSupport類。
@Configuration
public class MvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
                //需要放行的路徑
                .excludePathPatterns(
                        "/shop/**",
                        "/voucher/**",
                        "/shop-type/**",
                        "/upload/**",
                        "/blog/hot",
                        "/user/code",
                        "/user/login"
                );
    }
}

集群的session共享問題

session共享問題:多臺(tái)Tomcat并不共享session存儲(chǔ)空間,當(dāng)請(qǐng)求切換到不同tomcat服務(wù)時(shí)導(dǎo)致數(shù)據(jù)丟失的問題。

session的替代方案應(yīng)該滿足:

●數(shù)據(jù)共享

●內(nèi)存存儲(chǔ)

●key、value結(jié)構(gòu)

基于Redis實(shí)現(xiàn)session共享

到此這篇關(guān)于基于session Redis實(shí)現(xiàn)登錄的文章就介紹到這了,更多相關(guān)Redis實(shí)現(xiàn)登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis3.2配置文件redis.conf詳細(xì)說明

    redis3.2配置文件redis.conf詳細(xì)說明

    redis3.2配置詳解,Redis啟動(dòng)的時(shí)候,可以指定配置文件,詳細(xì)說明請(qǐng)看本文說明
    2018-03-03
  • Redis+Hbase+RocketMQ?實(shí)際使用問題案例講解

    Redis+Hbase+RocketMQ?實(shí)際使用問題案例講解

    這篇文章主要介紹了Redis+Hbase+RocketMQ?實(shí)際使用問題案例分享,本文結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • redis集群實(shí)現(xiàn)清理前綴相同的key

    redis集群實(shí)現(xiàn)清理前綴相同的key

    這篇文章主要介紹了redis集群實(shí)現(xiàn)清理前綴相同的key,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • redis中的配置以及密碼設(shè)置方式

    redis中的配置以及密碼設(shè)置方式

    這篇文章主要介紹了redis中的配置以及密碼設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • redis實(shí)現(xiàn)紅鎖的示例代碼

    redis實(shí)現(xiàn)紅鎖的示例代碼

    在分布式系統(tǒng)中,實(shí)現(xiàn)一個(gè)可靠的鎖機(jī)制是非常重要的,本文主要介紹了redis實(shí)現(xiàn)紅鎖的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-04-04
  • 淺談Redis中的RDB快照

    淺談Redis中的RDB快照

    雖說Redis是內(nèi)存數(shù)據(jù)庫,但是它為數(shù)據(jù)的持久化提供了兩個(gè)技術(shù),分別是AOF日志和RDB快照。這兩種技術(shù)都會(huì)用各用一個(gè)日志文件來記錄信息,但是記錄的內(nèi)容是不同的。AOF 文件的內(nèi)容是操作命令; RDB 文件的內(nèi)容是二進(jìn)制數(shù)據(jù)。本文將討論RDB快照的原理和使用
    2021-06-06
  • 關(guān)于在Redis中使用Pipelining加速查詢的問題

    關(guān)于在Redis中使用Pipelining加速查詢的問題

    這篇文章主要介紹了在Redis中使用Pipelining加速查詢,Redis是一個(gè)client-server模式的TCP服務(wù),也被稱為Request/Response協(xié)議的實(shí)現(xiàn),本文通過一個(gè)例子給大家詳細(xì)介紹,感興趣的朋友一起看看吧
    2022-05-05
  • Redis集群(cluster模式)搭建過程

    Redis集群(cluster模式)搭建過程

    文章介紹了Redis集群的概念、使用原因和搭建方法,Redis集群通過分區(qū)實(shí)現(xiàn)數(shù)據(jù)水平擴(kuò)容,提供了一定的可用性,文章詳細(xì)闡述了集群的連接方式,解釋了如何分配節(jié)點(diǎn),并提供了詳細(xì)的集群搭建步驟,包括創(chuàng)建節(jié)點(diǎn)、清空數(shù)據(jù)、修改配置、啟動(dòng)節(jié)點(diǎn)、配置集群等
    2024-10-10
  • 單線程Redis快的4 個(gè)原因總結(jié)

    單線程Redis快的4 個(gè)原因總結(jié)

    作為內(nèi)存中數(shù)據(jù)存儲(chǔ),Redis 以其速度和性能著稱,通常被用作大多數(shù)后端服務(wù)的緩存解決方案,但是,在內(nèi)部,Redis 采用單線程架構(gòu),為什么單線程設(shè)計(jì)依然會(huì)有這么高的性能,在本文中,讓我們深入探討為什么 Redis 才有單線程架構(gòu)
    2023-07-07
  • redis持久化的介紹

    redis持久化的介紹

    今天小編就為大家分享一篇關(guān)于redis持久化的介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評(píng)論