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-08Java數(shù)據(jù)結構及算法實例:漢諾塔問題 Hanoi
這篇文章主要介紹了Java數(shù)據(jù)結構及算法實例:漢諾塔問題 Hanoi,本文直接給出實現(xiàn)代碼,代碼中包含大量注釋,需要的朋友可以參考下2015-06-06Mybatis中3種關聯(lián)關系的實現(xiàn)方法示例
這篇文章主要給大家介紹了關于Mybatis中3種關聯(lián)關系的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Mybatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-11-11