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

Spring Security——09,解決跨域

這篇具有很好參考價值的文章主要介紹了Spring Security——09,解決跨域。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

瀏覽器出于安全的考慮,使用 XMLHttpRequest對象發(fā)起 HTTP請求時必須遵守同源策略,否則就是跨

域的HTTP請求,默認(rèn)情況下是被禁止的。 同源策略要求源相同才能正常進(jìn)行通信,即協(xié)議、域名、端口號都完全一致。

前后端分離項目,前端項目和后端項目一般都不是同源的,所以肯定會存在跨域請求的問題。

所以我們就要處理一下,讓前端能進(jìn)行跨域請求。

一、SpringBoot配置

配置運行跨域請求

spring security 配置跨域,Spring security,spring,java,后端,security,token

二、配置SpringSecurity

②開啟SpringSecurity的跨域訪問

由于我們的資源都會收到SpringSecurity的保護(hù),所以想要跨域訪問還要讓SpringSecurity運行跨域訪問。

spring security 配置跨域,Spring security,spring,java,后端,security,token

三、修改端口

spring security 配置跨域,Spring security,spring,java,后端,security,token

四、修改vue項目

vue項目:

阿里云盤:
文件太多了,百度網(wǎng)盤傳不上,用阿里云盤,嗯。2萬多個文件
https://www.alipan.com/t/la1A8NRdoGJjipuJwrZU

用postman是肯定不存在跨域問題的。因為它不是瀏覽器,所以我們要找一個前端的項目,就隨便找了一個vue工程。修改一下vue項目。

4.1 拿到token

創(chuàng)建一個登錄頁面

spring security 配置跨域,Spring security,spring,java,后端,security,token代碼如下:

<template>
    <el-form style="width: 20%" :model="ruleForm" ref="ruleForm" label-width="100px" class="demo-ruleForm">

        <el-form-item label="賬號" prop="userName">
            <el-input v-model="ruleForm.userName"></el-input>
        </el-form-item>

        <el-form-item label="密碼" prop="password">
            <el-input v-model="ruleForm.password"></el-input>
        </el-form-item>

        <el-form-item>
            <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
        </el-form-item>

    </el-form>
</template>

<script>
    export default {
        data() {
            return {
                ruleForm: {
                    userName: '',
                    password: ''
                }
            };
        },
        methods: {

            //這個是提交方法
            submitForm(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        axios.post('http://localhost:8888/user/login',this.ruleForm).then(res=>{

                            console.log(res.data.data.token);

                            if(res.data.code == '200'){
                                this.$alert(this.ruleForm.userName+'賬號登錄成功!', '消息', {
                                    confirmButtonText: '確定',
                                })
                            }

                        })

                    } else {
                        return false;
                    }
                });
            }

        }
    }
</script>

<style scoped>

</style>

路由的配置就直接略過了,不是重點。。。。。

運行前端vue項目:

spring security 配置跨域,Spring security,spring,java,后端,security,token
然后測試一下,登錄成功,解決跨域請求,拿到token

spring security 配置跨域,Spring security,spring,java,后端,security,token

4.2 前端存儲token

修改一下登錄頁面,認(rèn)證登錄成功之后,把返回的token接收,存入localStorage

spring security 配置跨域,Spring security,spring,java,后端,security,token
測試一下:沒有問題,本地存儲了token

spring security 配置跨域,Spring security,spring,java,后端,security,token

4.3 前端請求頭攜帶token

先創(chuàng)建一個hello頁面

spring security 配置跨域,Spring security,spring,java,后端,security,token代碼如下:

<template>
    <el-form style="width: 20%" label-width="100px" class="demo-ruleForm">

        <el-form-item>
            <el-button type="primary" @click="submitForm()">測試hallo接口</el-button>
        </el-form-item>

    </el-form>
</template>

<script>
    export default {
        methods: {
            //這個是提交方法
            submitForm() {
                axios.post('http://localhost:8888/hello',this.ruleForm).then(res=>{
                    
                })
            }
        }
    }
</script>

<style scoped>

</style>

啟動項目,頁面測試一下:

認(rèn)證失敗,因為請求頭沒有攜帶任何token

spring security 配置跨域,Spring security,spring,java,后端,security,token
創(chuàng)建一個utils文件夾,在utils下創(chuàng)建request.js

spring security 配置跨域,Spring security,spring,java,后端,security,token
在main.js進(jìn)行全局引入

spring security 配置跨域,Spring security,spring,java,后端,security,token

修改hello接口,只需要寫一個hello就行了,不需要寫全部的接口地址

spring security 配置跨域,Spring security,spring,java,后端,security,token

五、測試

5.1 認(rèn)證測試

填一個錯誤的密碼,認(rèn)證失敗

spring security 配置跨域,Spring security,spring,java,后端,security,token
填入一個正確的密碼,認(rèn)證成功

spring security 配置跨域,Spring security,spring,java,后端,security,token

5.2 授權(quán)測試

然后,我們測試一下,請求頭已經(jīng)攜帶了token了

spring security 配置跨域,Spring security,spring,java,后端,security,token

然后看一下,響應(yīng),都沒有問題,OK,這個賬號是有這個權(quán)限的。

spring security 配置跨域,Spring security,spring,java,后端,security,token

我們把權(quán)限改了

spring security 配置跨域,Spring security,spring,java,后端,security,token

再進(jìn)行一下測試:當(dāng)前賬號已經(jīng)沒有權(quán)限了。

spring security 配置跨域,Spring security,spring,java,后端,security,token文章來源地址http://www.zghlxwxcb.cn/news/detail-851858.html

一鍵三連有沒有捏~~

到了這里,關(guān)于Spring Security——09,解決跨域的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Spring Security 6.1.2 認(rèn)證 配置

    我實現(xiàn)了UserDetailsService (loadUserByUsername通過用戶名查用戶) 以及UserDetailsPasswordService(updatePassword)更改密碼

    2024年02月14日
    瀏覽(17)
  • Spring Boot安全管理—Spring Security基本配置

    Spring Boot安全管理—Spring Security基本配置

    1.1 創(chuàng)建項目,添加依賴 創(chuàng)建一個Spring Boot Web 項目,然后添加spring-boot-starter-security依賴。 1.2 添加hello接口 在項目中添加一個簡單的/hello接口,內(nèi)容如下: 1.3 啟動項目測試 訪問/hello接口會自動跳轉(zhuǎn)到登錄頁面,這個頁面有Spring Security提供的。 默認(rèn)的用戶名是user,默認(rèn)的登

    2024年02月08日
    瀏覽(21)
  • Spring Security 6 配置方法,廢棄 WebSecurityConfigurerAdapter

    Spring Security 6 配置方法,廢棄 WebSecurityConfigurerAdapter

    最近阿里云的項目遷回本地運行,數(shù)據(jù)庫從阿里云的RDS(即Mysql5.6)換成了本地8.0,Redis也從古董級別的2.x換成了現(xiàn)在6,忍不住,手癢,把jdk升級到了17,用zgc垃圾回收器,源代碼重新編譯重新發(fā)布,結(jié)果碰到了古董的SpringBoot不支持jdk17,所以有了這篇日志。記錄一下SpringBo

    2024年02月01日
    瀏覽(20)
  • Spring Security之基于HttpRequest配置權(quán)限

    Spring Security之基于HttpRequest配置權(quán)限

    今天我們重點聊聊授權(quán)方式的另外一種:基于HttpServletRequest配置權(quán)限 一個典型的配置demo 從這里也可以看出,要實現(xiàn)基于RBAC,還是比較容易的。也比較容易使用。但是如果想要動態(tài)的增加角色,就需要我們定制AuthorizationManager。 HttpSecurity是負(fù)責(zé)構(gòu)建DefaultSecurityFilterChain的。而

    2024年04月11日
    瀏覽(20)
  • 【高?!縎pring Security鑒權(quán)規(guī)則錯誤配置風(fēng)險

    【高?!縎pring Security鑒權(quán)規(guī)則錯誤配置風(fēng)險

    Spring Security 是一套為基于Spring的應(yīng)用程序提供說明性安全保護(hù)的安全框架。 在 Spring Security 受影響的版本中,由于 Spring Security 的授權(quán)規(guī)則會應(yīng)用于整個應(yīng)用程序上下文,當(dāng)應(yīng)用程序中包含多個servlet,并且其中一個為DispatcherServlet時 ,使用 requestMatchers(String) 方法錯誤地將非

    2024年02月15日
    瀏覽(34)
  • spring security @EnableWebSecurity自動配置DaoAuthenticationProvider流程

    spring-security:6.2.1 滿足下列情況時,spring-security會自動配置DaoAuthenticationProvider 使用@EnableWebSecurity 注冊UserDetailsServiceBean 沒有注冊其他AuthenticationProvider類型的Bean 沒有通過http.authenticationProvider配置 org.springframework.security.config.annotation.web.configuration.EnableWebSecurity org.springframework.s

    2024年01月18日
    瀏覽(21)
  • Springboot 實踐(6)spring security配置與運用

    ????????前文講解了springboot項目添加靜態(tài)資源目錄,到目前為止,項目已經(jīng)建立了后臺服務(wù)控制、靜態(tài)資源目錄等服務(wù);項目開發(fā)是為特定用戶服務(wù)的,不具備訪問權(quán)限用戶,不允許訪問系統(tǒng),那么如何對系統(tǒng)資源進(jìn)行保護(hù)呢?這就涉及到了我們此文所要引入的spring sec

    2024年02月12日
    瀏覽(14)
  • 權(quán)限管理詳解:認(rèn)證、授權(quán)及Spring Security配置解析

    權(quán)限管理詳解:認(rèn)證、授權(quán)及Spring Security配置解析

    深入探討權(quán)限管理的重要性與實現(xiàn)方式,包括認(rèn)證、授權(quán)概念,基于角色和資源的訪問控制方案,以及Spring Security框架的概述和快速入門指南。

    2023年04月10日
    瀏覽(22)
  • 后端進(jìn)階之路——深入理解Spring Security配置(二)

    后端進(jìn)階之路——深入理解Spring Security配置(二)

    「作者主頁」 :雪碧有白泡泡 「個人網(wǎng)站」 :雪碧的個人網(wǎng)站 「推薦專欄」 : ★ java一站式服務(wù) ★ ★ 前端炫酷代碼分享 ★ ★ uniapp-從構(gòu)建到提升 ★ ★ 從0到英雄,vue成神之路 ★ ★ 解決算法,一個專欄就夠了 ★ ★ 架構(gòu)咱們從0說 ★ ★ 數(shù)據(jù)流通的精妙之道★ ★后端進(jìn)

    2024年02月14日
    瀏覽(31)
  • Spring Security OAuth Client配置加載源碼分析

    Spring Security OAuth Client配置加載源碼分析

    相關(guān)文章: OAuth2的定義和運行流程 Spring Security OAuth實現(xiàn)Gitee快捷登錄 Spring Security OAuth實現(xiàn)GitHub快捷登錄 Spring Security的過濾器鏈機制 這一節(jié)我們以前面默認(rèn)的OAuth2 客戶端集成為例,來了解下配置文件的加載,示例見第二、第三節(jié)。 假如你沒有看過相關(guān)視頻,或者書,但想要

    2024年02月08日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包