springboot整合springsecurity
时间: 2023-09-06 20:11:03 浏览: 86
Spring Security是Spring家族中非常重要的安全框架,可以提供登录认证、授权、攻击防护等安全性功能。而Spring Boot是简化了Spring应用的开发,使得开发人员可以快速创建基于Spring的应用程序。
Spring Boot与Spring Security的整合非常简单,只需要在项目中添加Spring Security的依赖即可。下面是一个简单的Spring Boot整合Spring Security的示例。
1.添加依赖
在pom.xml文件中添加Spring Security的依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
2.配置Security
在项目中添加一个Security配置类,该类需要继承WebSecurityConfigurerAdapter类,并重写configure()方法,用于配置Spring Security的相关设置。
```
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user").password("{noop}password").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.antMatchers("/admin/**").access("hasRole('ADMIN')")
.and().formLogin()
.and().exceptionHandling().accessDeniedPage("/accessDenied");
}
}
```
在上面的配置中,我们定义了一个内存中的用户,用户名为"user",密码为"password",角色为"USER"。同时,我们还配置了请求路由的访问规则,根路径和"/home"路径都是允许所有人访问的,而以"/admin/"开头的路径则需要具备"ADMIN"角色才能访问。最后,我们还为访问被拒绝的用户定义了一个跳转页面。
3.启动应用程序
在完成上述配置之后,我们只需要启动Spring Boot应用程序即可。在浏览器中输入http://localhost:8080/,会看到一个默认的Spring Security登录页面,输入我们在配置中定义的用户名和密码即可登录成功。
阅读全文