91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

springboot怎么限制接口訪問

小億
364
2023-08-14 10:51:05
欄目: 編程語言

在Spring Boot中,可以使用Spring Security來限制接口的訪問。Spring Security是一個基于Spring框架的安全性解決方案,可以幫助我們實現認證和授權的功能。

首先,需要在pom.xml文件中添加Spring Security的依賴:

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

然后,在應用的配置類中,可以使用@EnableWebSecurity注解來啟用Spring Security:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/api/**").authenticated() // 需要認證才能訪問的接口
.anyRequest().permitAll() // 其他接口允許匿名訪問
.and()
.formLogin()
.and()
.httpBasic();
}
}

在上述配置中,.antMatchers("/api/**").authenticated()表示需要認證才能訪問以/api/開頭的所有接口,.anyRequest().permitAll()表示其他接口允許匿名訪問。

此外,還可以通過@PreAuthorize注解來對接口進行更細粒度的權限控制。例如,在Controller的方法上添加@PreAuthorize注解:

@RestController
public class MyController {
@GetMapping("/api/hello")
@PreAuthorize("hasRole('ROLE_ADMIN')")
public String hello() {
return "Hello, world!";
}
}

上述例子中,只有具有ROLE_ADMIN角色的用戶才能訪問/api/hello接口。

通過以上的配置,就可以限制接口的訪問了。當用戶沒有認證或者沒有權限時,Spring Security會自動返回401 Unauthorized或403 Forbidden的HTTP響應。

0
瑞金市| 阜宁县| 电白县| 溧阳市| 年辖:市辖区| 东阿县| 名山县| 安塞县| 波密县| 普安县| 丰顺县| 河曲县| 贵德县| 汉寿县| 买车| 固阳县| 上思县| 扎鲁特旗| 墨竹工卡县| 长顺县| 来安县| 万盛区| 福贡县| 临汾市| 黎城县| 平和县| 长沙市| 天峨县| 晴隆县| 梓潼县| 茶陵县| 岑溪市| 公主岭市| 日照市| 嫩江县| 枣强县| 武安市| 曲松县| 双牌县| 通辽市| 祁阳县|