Spring Security详细介绍及使用含完整代码(值得珍藏)
Spring Security是一个强大且高度可定制的身份验证和授权框架,提供了认证(Authentication)和授权(Authorization)机制。
以下是Spring Security的一个简单使用示例:
- 添加依赖到你的
pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
- 配置
WebSecurityConfigurerAdapter
来定义安全策略:
import org.springframework.context.annotation.Configuration;
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()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
}
- 创建一个安全控制器来处理登录请求:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class SecurityController {
@GetMapping("/")
public String index() {
return "index";
}
@GetMapping("/login")
public String login() {
return "login";
}
}
- 在
application.properties
或application.yml
中配置用户详情服务:
# application.properties
spring.security.user.name=user
spring.security.user.password=password
以上示例提供了一个简单的Spring Security配置,通过WebSecurityConfigurerAdapter
启用了基于表单的登录,并定义了一个简单的登录页面。在生产环境中,你需要使用更安全的方式存储密码,并且实现自定义的用户详情服务来从数据库等地方检索用户信息。
评论已关闭