springboot整合security的代码
时间: 2023-04-01 19:01:32 浏览: 99
springboot整合代码
很高兴回答你的问题。以下是一个简单的 Spring Boot 整合 Security 的代码示例:
首先,需要在 pom.xml 文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
然后,在 Spring Boot 应用程序的主类上添加 @EnableWebSecurity 注解,以启用 Spring Security:
```
@SpringBootApplication
@EnableWebSecurity
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
```
接下来,创建一个继承自 WebSecurityConfigurerAdapter 的配置类,并覆盖 configure 方法,以配置 Spring Security:
```
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.logout()
.logoutSuccessUrl("/");
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("admin").password("{noop}admin").roles("ADMIN")
.and()
.withUser("user").password("{noop}user").roles("USER");
}
}
```
在上面的代码中,我们配置了两个角色:ADMIN 和 USER。ADMIN 角色可以访问 /admin/** 路径,USER 角色可以访问 /user/** 路径。任何未经身份验证的请求都将被重定向到登录页面。我们还配置了一个简单的内存身份验证,其中包含两个用户:admin 和 user。
希望这个代码示例能够帮助你整合 Spring Boot 和 Spring Security。
阅读全文