spring-boot-starter-security 3.3.4使用教程
时间: 2024-09-21 12:13:29 浏览: 143
hadoop-3.3.4 版本(最新版)
Spring Boot Starter Security是一个轻量级的框架,用于快速集成Spring Security到Spring Boot应用程序中。版本3.3.4提供了一系列的安全功能,包括身份验证、授权、会话管理等。以下是使用Spring Boot Starter Security的一个简单教程:
1. **添加依赖**:
在你的`pom.xml`或`build.gradle`文件中添加Spring Security的相关依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
2. **配置应用安全**:
创建一个`SecurityConfig.java`类并实现WebSecurityConfigurerAdapter,设置默认的登录页面和注销路径:
```java
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/", "/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login")
.logout().logoutUrl("/logout");
}
// 如果需要,可以在此配置用户认证
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user").password("{noop}password").roles("USER");
}
}
```
3. **创建登录界面**:
创建一个简单的HTML登录表单,并将其放在`src/main/resources/static/login.html`文件中。
4. **启动应用**:
使用Spring Boot命令行工具运行应用,访问`http://localhost:8080/login`尝试登录。
5. **自定义授权规则**:
如果你需要更复杂的权限控制,可以在`configure()`方法中使用`accessDecisionManager()`,或者使用基于注解的声明式安全控制。
阅读全文