国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

登錄校驗(yàn)原理過程和統(tǒng)一攔截技術(shù)(Cookie、Sesstion 和JWT令牌)

這篇具有很好參考價值的文章主要介紹了登錄校驗(yàn)原理過程和統(tǒng)一攔截技術(shù)(Cookie、Sesstion 和JWT令牌)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、登錄校驗(yàn)

  • 問題:在未登錄情況下,我們也可以直接訪問部門管理、員工管理等功能。
  • 由于瀏覽器與web服務(wù)器中的數(shù)據(jù)交互是通過HTTP協(xié)議的,而HTTP協(xié)議是無狀態(tài)的–即每個頁面中的請求和響應(yīng)都是獨(dú)立的,沒有狀態(tài)存在。
  • 所以我們需要進(jìn)行登錄校驗(yàn)

1.登錄校驗(yàn)

  • 每次訪問頁面的時候可以用if...else...來進(jìn)行判斷用戶是否登錄。但過程較為繁瑣,所以我們設(shè)置統(tǒng)一攔截。

二、統(tǒng)一攔截

登錄校驗(yàn)原理過程和統(tǒng)一攔截技術(shù)(Cookie、Sesstion 和JWT令牌)

1.登錄標(biāo)記

(1).會話技術(shù):

  • 用戶登錄成功之后,每一次請求中,都可以獲取到該標(biāo)記。
  1. 會話:
  • 用戶打開瀏覽器,訪問web服務(wù)器的資源,會話建立,直到有一方斷開連接,會話結(jié)束在一次會話中可以包含多次請求和響應(yīng)。
  1. 會話跟蹤:
  • 一種維護(hù)瀏覽器狀態(tài)的方法,服務(wù)器需要識別多次請求是否來自于同一瀏覽器,以便在同一次會話的多次請求間共享數(shù)據(jù)。

(2).會話跟蹤方案:

  1. 客戶端Cookie(傳統(tǒng))
  • 客戶端會話跟蹤技術(shù):Cookie
import com.mannor.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Slf4j
@RestController
public class SessionController {
    //設(shè)置cookie
    @GetMapping("/c1")
    public Result cookie(HttpServletResponse response) {
        response.addCookie(new Cookie("login_username", "mannor"));//設(shè)置Cookie/響應(yīng)Cookie
        return Result.success();

    }

    @GetMapping("/c2")
    public Result cookie2(HttpServletRequest request) {
        Cookie[] cookies = request.getCookies();//獲取所有的Cookie
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals("login_username")) {//輸出name為 login_username 的cookie
                System.out.println("login_username: " + cookie.getValue());
            }
        }
        return Result.success();
    }
}

優(yōu)點(diǎn):HTTP協(xié)議中支持
缺點(diǎn):1.移動端APP無法使用cookie不安全,2.用戶可以自己禁用,3.Cookiecookie不能跨域。

  1. 服務(wù)端Session(傳統(tǒng))
  • 服務(wù)端會話跟蹤技術(shù):Session,基于cookie開發(fā)
import com.mannor.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@Slf4j
@RestController
public class SessionController {
    //往HttpSession中存儲值
    @GetMapping("/s1")
    public Result session1(HttpSession session) {
        log.info("attpSession-s1: {}", session.hashCode());
        session.setAttribute("loginUser", "tom");//往session中存儲數(shù)據(jù)
        return Result.success();
    }

    //從HttpSession中獲取值
    @GetMapping("/s2")
    public Result session2(HttpServletRequest request) {
        HttpSession session = request.getSession();
        log.info("HttpSession-s2:{}", session.hashCode());
        Object loginUser = session.getAttribute("loginUser");//從session中獲取數(shù)據(jù)
        log.info("loginUser: {}", loginUser);
        return Result.success(loginUser);
    }
}

優(yōu)點(diǎn):存儲在服務(wù)器,安全性高
缺點(diǎn):1.在服務(wù)器集群的情況下無法直接使用Session; 2.Cookie的缺點(diǎn)(基于Cookie開發(fā))。

  1. JWT令牌技術(shù) (主流技術(shù))
//具體相關(guān)內(nèi)容在下詳細(xì)介紹

優(yōu)點(diǎn):1.支持PC端和移動端 2.解決了集群環(huán)境下的認(rèn)證問題 3.減輕了服務(wù)器端存儲的壓力(不用存儲)。
缺點(diǎn):需要自己實(shí)現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-500543.html

到了這里,關(guān)于登錄校驗(yàn)原理過程和統(tǒng)一攔截技術(shù)(Cookie、Sesstion 和JWT令牌)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • (13)session和cookie的原理分析,完成(免)登錄和安全退出功能

    (13)session和cookie的原理分析,完成(免)登錄和安全退出功能

    三種域?qū)ο?這三個域?qū)ο蟮拇笮£P(guān)系: request session application, 盡量使用小的域 request 請求域(請求級別的), 對應(yīng)的類名:HttpServletRequest session會話域(用戶級別的), 對應(yīng)的類名:HttpSession application應(yīng)用域(項(xiàng)目級別的,所有用戶共享的)對應(yīng)的類名:ServletContext 三個域?qū)ο蠖?/p>

    2024年02月16日
    瀏覽(56)
  • Node.js | 詳解 Cookie-Session登錄驗(yàn)證 的工作原理

    Node.js | 詳解 Cookie-Session登錄驗(yàn)證 的工作原理

    ????? 個人簡介:一個不甘平庸的平凡人?? ??? 本系列專欄:Node.js從入門到精通 ?? 你的一鍵三連是我更新的最大動力??! ?? 歡迎私信博主加入前端交流群?? 目前絕大多數(shù)的系統(tǒng)都少不了 登錄驗(yàn)證 的功能,這主要是為了保存用戶的狀態(tài),以此來限制用戶的各種行

    2024年01月17日
    瀏覽(16)
  • 【Spring實(shí)戰(zhàn)項(xiàng)目】SpringBoot3整合WebSocket+攔截器實(shí)現(xiàn)登錄驗(yàn)證!從原理到實(shí)戰(zhàn)

    【Spring實(shí)戰(zhàn)項(xiàng)目】SpringBoot3整合WebSocket+攔截器實(shí)現(xiàn)登錄驗(yàn)證!從原理到實(shí)戰(zhàn)

    ???? 歡迎光臨,終于等到你啦 ???? ??我是 蘇澤 ,一位對技術(shù)充滿熱情的探索者和分享者。???? ??持續(xù)更新的專欄 《Spring 狂野之旅:從入門到入魔》 ?? 本專欄帶你從Spring入門到入魔 ? 這是蘇澤的個人主頁可以看到我其他的內(nèi)容哦???? 努力的蘇澤 http://suzee.blog.

    2024年04月17日
    瀏覽(21)
  • web學(xué)習(xí)--登錄認(rèn)證--會話技術(shù)--cookie--session--令牌--java-jwt使用--jjwt使用

    web學(xué)習(xí)--登錄認(rèn)證--會話技術(shù)--cookie--session--令牌--java-jwt使用--jjwt使用

    前置學(xué)習(xí): http springmvc 會話:用戶打開瀏覽器,訪問web服務(wù)器資源,會話建立,直到有一方斷開連接會話結(jié)束,一次會話可以多次請求和連接 會話跟蹤:一種維護(hù)瀏覽器狀態(tài)的方式,服務(wù)器需要識別多次請求是否來自同一瀏覽器,以便同一次會話多次請求間共享數(shù)據(jù)。 cooki

    2024年02月15日
    瀏覽(50)
  • 統(tǒng)一異常攔截和非法sql攔截

    統(tǒng)一異常攔截和非法sql攔截

    目錄 統(tǒng)一異常攔截 異常攔截的原因: 實(shí)現(xiàn)原理: 核心代碼: aop切面實(shí)現(xiàn)操作記錄(操作留痕) 業(yè)務(wù)場景: 實(shí)現(xiàn)原理: 核心代碼: 非法sql攔截 業(yè)務(wù)場景: 實(shí)現(xiàn)原理: 核心代碼: 1,對于前端用戶比較友好。通過統(tǒng)一異常攔截我們可以將后端的異常(沒有try,catch住的)給

    2024年02月05日
    瀏覽(12)
  • 【程序猿包郵送書:第四期】《分布式統(tǒng)一大數(shù)據(jù)虛擬文件系統(tǒng)——Alluxio原理、技術(shù)與實(shí)踐》

    【程序猿包郵送書:第四期】《分布式統(tǒng)一大數(shù)據(jù)虛擬文件系統(tǒng)——Alluxio原理、技術(shù)與實(shí)踐》

    ??歡迎來到 愛書不愛輸?shù)某绦蛟?的博客, 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 ?????? 點(diǎn)擊直達(dá)福利 當(dāng)今,我們的世界已經(jīng)進(jìn)入一個數(shù)據(jù)時代。隨著互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、5G、大數(shù)據(jù)、人工智能、自動駕駛、元宇宙等信息技術(shù)的快速發(fā)展,人們在產(chǎn)生、收集、存儲

    2024年02月09日
    瀏覽(19)
  • SpringBoot統(tǒng)一功能處理(攔截器)

    SpringBoot統(tǒng)一功能處理(攔截器)

    1.1自定義攔截器 寫一個類去實(shí)現(xiàn) HandlerInterceptor接口 表示當(dāng)前類是一個攔截器,再 重寫HandlerInterceptor接口中的方法 , preHandle 為在方法 執(zhí)行前攔截 ,postHandle為方法執(zhí)行中攔截,afterCompletion為方法執(zhí)行中攔截.需要在什么時候攔截就重寫什么方法 2.1.配置攔截規(guī)則 實(shí)現(xiàn) WebMvcConfigur

    2024年02月14日
    瀏覽(17)
  • springmvc統(tǒng)一異常處理攔截器

    使用@RestControllerAdvice+@ExceptionHandler實(shí)現(xiàn) 也可以使用@ControllerAdvice+@ResponseBody+@ExceptionHandler實(shí)現(xiàn) 創(chuàng)建一個異常處理的類,放在config包下 ?組件類: ?也可以讓不同的異常返回不同的結(jié)果,捕獲什么異常由@ExceptionHandler的value屬性決定,傳入一個類對象(可以通過反射獲得) ?

    2024年02月15日
    瀏覽(24)
  • Spring 統(tǒng)一功能處理(攔截器)

    Spring 統(tǒng)一功能處理(攔截器)

    SpringBoot統(tǒng)一功能處理。也就是AOP的具體實(shí)現(xiàn)。 最原始的用戶登錄驗(yàn)證方法,我們通過封裝了一個方法來判斷用戶是否登錄,但如果實(shí)現(xiàn)的功能多了,那么每一個需要登錄的功能都要在對應(yīng)的接口中來調(diào)用這個函數(shù)來判讀是否登錄。 上面的代碼雖然已經(jīng)封裝成了方法,但是如

    2024年02月03日
    瀏覽(23)
  • springboot統(tǒng)一攔截包裝接口返回值

    1、作用 代替手動封裝每個接口的返回值,否則每個有返回值的controller接口,都需要手動使用Resonse類包裝返回結(jié)果 2、實(shí)現(xiàn) 方法返回值handler,需要實(shí)現(xiàn)接口HandlerMethodReturnValueHandler,并重寫supportsReturnType和handleReturnValue方法。只有在supportsReturnType方法返回值為true的情況下才會

    2024年02月13日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包