欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot中給指定接口加上權(quán)限校驗的實現(xiàn)

 更新時間:2024年12月24日 11:26:21   作者:weixin_47543135  
本文介紹了使用SpringSecurity為接口添加權(quán)限校驗,以防止外部訪問并確保安全性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

問題

給指定接口加上權(quán)限校驗,目的是防止外部訪問,保證安全性。

解決

1、添加 Spring Security 依賴

在相應(yīng) pom 文件中加入下列依賴。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

2、配置 Spring Security

創(chuàng)建一個配置類來配置 Spring Security,使用 SecurityFilterChain 來配置安全規(guī)則。

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
                // 禁用 CSRF 保護(hù)
                .csrf().disable()
                .authorizeRequests(authorize -> authorize
                        // 僅允許具有 USER 角色的用戶訪問 /dpp/craw 及其子路徑
                        .antMatchers("/dpp/craw/**").hasRole("USER")
                        // 其他請求無需認(rèn)證
                        .anyRequest().permitAll()
                )
                // 使用 HTTP Basic 認(rèn)證
                .httpBasic();
        return http.build();
    }

    @Bean
    public UserDetailsService userDetailsService() {
        UserDetails user = User.withUsername("user")
                // 確保這里的密碼是經(jīng)過編碼的
                .password(passwordEncoder().encode("password"))
                .roles("USER")
                .build();
        return new InMemoryUserDetailsManager(user);
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}

3、在接口處加上權(quán)限校驗關(guān)鍵字

4、接口測試

此時訪問該接口需要在請求頭上加上認(rèn)證信息,上述接口的認(rèn)證信息是 user:password 的Base64編碼后的字符串

在請求頭加上認(rèn)證參數(shù)則訪問成功

到此這篇關(guān)于SpringBoot中給指定接口加上權(quán)限校驗的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot指定接口加權(quán)限校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring boot集成Kafka+Storm的示例代碼

    Spring boot集成Kafka+Storm的示例代碼

    這篇文章主要介紹了Spring boot集成Kafka+Storm的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Mysql字段和java實體類屬性類型匹配方式

    Mysql字段和java實體類屬性類型匹配方式

    這篇文章主要介紹了Mysql字段和java實體類屬性類型匹配方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • mybatis空值插入處理的解決方法

    mybatis空值插入處理的解決方法

    本文主要介紹了mybatis空值插入處理的解決方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • SpringBoot源碼剖析之屬性文件加載原理

    SpringBoot源碼剖析之屬性文件加載原理

    這篇文章主要給大家介紹了關(guān)于SpringBoot源碼剖析之屬性文件加載原理的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-02-02
  • SpringBoot淺析緩存機制之Ehcache?2.x應(yīng)用

    SpringBoot淺析緩存機制之Ehcache?2.x應(yīng)用

    EhCache?是一個純Java的進(jìn)程內(nèi)緩存框架,具有快速、精干等特點。它是Hibernate中的默認(rèn)緩存框架。Ehcache已經(jīng)發(fā)布了3.1版本。但是本文的講解基于2.x版本
    2022-08-08
  • 淺談java常用的幾種線程池比較

    淺談java常用的幾種線程池比較

    下面小編就為大家?guī)硪黄獪\談java常用的幾種線程池比較。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解netty中常用的xml編碼解碼器

    詳解netty中常用的xml編碼解碼器

    這篇文章主要介紹了netty中常用的xml編碼解碼器,進(jìn)行frame拆分可以使用XmlFrameDecoder,進(jìn)行xml文件內(nèi)容的解析則可以使用XmlDecoder,接下來我們會詳細(xì)講解兩個decoder實現(xiàn)和使用,感興趣的朋友一起看看吧
    2022-05-05
  • 深入理解Java設(shè)計模式之代理模式

    深入理解Java設(shè)計模式之代理模式

    這篇文章主要介紹了Java設(shè)計模式之代理模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • Java數(shù)據(jù)結(jié)構(gòu)及算法實例:漢諾塔問題 Hanoi

    Java數(shù)據(jù)結(jié)構(gòu)及算法實例:漢諾塔問題 Hanoi

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實例:漢諾塔問題 Hanoi,本文直接給出實現(xiàn)代碼,代碼中包含大量注釋,需要的朋友可以參考下
    2015-06-06
  • Mybatis中3種關(guān)聯(lián)關(guān)系的實現(xiàn)方法示例

    Mybatis中3種關(guān)聯(lián)關(guān)系的實現(xiàn)方法示例

    這篇文章主要給大家介紹了關(guān)于Mybatis中3種關(guān)聯(lián)關(guān)系的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論