security6.0 认证授权实例
时间: 2023-08-10 12:39:39 浏览: 97
好的,关于security6.0的认证授权实例,以下是一个简单的示例:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.logout().logoutSuccessUrl("/");
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
```
以上代码使用Spring Security 6.0实现了认证授权功能,其中:
- `UserDetailsService`用于加载用户信息,密码使用了BCrypt加密方式。
- `HttpSecurity`配置了不同URL的访问权限,`/admin/**`需要`ADMIN`角色,`/user/**`需要`USER`角色,其他URL则需要认证后才能访问。
- `formLogin`配置了表单登录功能。
- `logout`配置了登出功能。
这只是一个简单的示例,实际项目中需要根据具体需求进行修改配置。
阅读全文