spring secuirty
官网链接🔗
- Spring Security 是一个提供身份验证、授权和针对常见攻击的保护的框架。凭借对命令式和反应式应用程序的一流支持,它是保护基于 Spring 的应用程序的事实上的标准。
- Spring Security 需要 Java 8 或更高版本的运行时环境。
认证和授权
- 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
- 配置认证和授权
@EnableWebSecurity
public class Safty extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/user/vip1/**").hasRole("vip1")
.antMatchers("/user/vip2/**").hasRole("vip2")
.antMatchers("/user/vip3/**").hasRole("vip3");
http.formLogin();
http.logout();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("123").password("123").roles("vip1").and()
.withUser("1234").password("1234").roles("vip2","vip3");
auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder())
.withUser("123").password(new BCryptPasswordEncoder().encode("123456")).roles("vip1").and()
.withUser("1234").password(new BCryptPasswordEncoder().encode("123456")).roles("vip2","vip3");
}
}
|