spring boot 2.6.3整合spring security
时间: 2023-07-07 12:42:25 浏览: 178
好的,下面是整合步骤:
1. 引入依赖
在 `pom.xml` 中引入以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
2. 配置安全属性
在 `application.properties` 文件中配置安全属性:
```properties
# 配置登录页面
spring.security.login-page=/login
# 配置登录请求
spring.security.login-processing-url=/doLogin
# 配置退出请求
spring.security.logout-url=/logout
# 配置退出成功后跳转页面
spring.security.logout-success-url=/
# 配置用户信息
spring.security.user.name=user
spring.security.user.password=password
spring.security.user.roles=USER
```
3. 配置安全策略
在 `WebSecurityConfig` 中配置安全策略:
```java
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll() // 允许访问首页和 home 页面
.anyRequest().authenticated() // 其他请求需要认证
.and()
.formLogin()
.loginPage("/login") // 配置登录页面
.loginProcessingUrl("/doLogin") // 配置登录请求
.defaultSuccessUrl("/hello") // 登录成功后跳转到 hello 页面
.permitAll()
.and()
.logout()
.logoutUrl("/logout") // 配置退出请求
.logoutSuccessUrl("/") // 配置退出成功后跳转页面
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user")
.password("{noop}password") // 密码加密方式为 plain text
.roles("USER");
}
}
```
以上就是整合 Spring Security 的基本步骤,你可以根据需求进行更进一步的配置。
阅读全文