SpringBoot中給指定接口加上權限校驗的實現(xiàn)
問題
給指定接口加上權限校驗,目的是防止外部訪問,保證安全性。

解決
1、添加 Spring Security 依賴
在相應 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 保護
.csrf().disable()
.authorizeRequests(authorize -> authorize
// 僅允許具有 USER 角色的用戶訪問 /dpp/craw 及其子路徑
.antMatchers("/dpp/craw/**").hasRole("USER")
// 其他請求無需認證
.anyRequest().permitAll()
)
// 使用 HTTP Basic 認證
.httpBasic();
return http.build();
}
@Bean
public UserDetailsService userDetailsService() {
UserDetails user = User.withUsername("user")
// 確保這里的密碼是經過編碼的
.password(passwordEncoder().encode("password"))
.roles("USER")
.build();
return new InMemoryUserDetailsManager(user);
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}3、在接口處加上權限校驗關鍵字

4、接口測試
此時訪問該接口需要在請求頭上加上認證信息,上述接口的認證信息是 user:password 的Base64編碼后的字符串

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

到此這篇關于SpringBoot中給指定接口加上權限校驗的實現(xiàn)的文章就介紹到這了,更多相關SpringBoot指定接口加權限校驗內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot淺析緩存機制之Ehcache?2.x應用
EhCache?是一個純Java的進程內緩存框架,具有快速、精干等特點。它是Hibernate中的默認緩存框架。Ehcache已經發(fā)布了3.1版本。但是本文的講解基于2.x版本2022-08-08
Java數(shù)據(jù)結構及算法實例:漢諾塔問題 Hanoi
這篇文章主要介紹了Java數(shù)據(jù)結構及算法實例:漢諾塔問題 Hanoi,本文直接給出實現(xiàn)代碼,代碼中包含大量注釋,需要的朋友可以參考下2015-06-06
Mybatis中3種關聯(lián)關系的實現(xiàn)方法示例
這篇文章主要給大家介紹了關于Mybatis中3種關聯(lián)關系的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Mybatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-11-11

