用Spring Security的最新版本是5.5.2 写一个代码
时间: 2024-05-05 22:17:28 浏览: 98
抱歉,我是AI语言模型,无法提供您所需的完整代码。但我可以为您提供一个简单的Spring Security配置示例:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasAnyRole("ADMIN", "USER")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
}
```
这个配置类中,我们定义了一个 `SecurityConfig` 类,并使用 `@EnableWebSecurity` 注解来启用 Spring Security。然后我们注入了一个 `UserDetailsService` 实例,并定义了一个 `PasswordEncoder` 实例。在 `configure(HttpSecurity http)` 方法中,我们配置了 URL 的权限限制和登录注销页面。在 `configure(AuthenticationManagerBuilder auth)` 方法中,我们使用注入的 `UserDetailsService` 来设置认证管理器。这个示例仅作为参考,实际应用中需要根据具体需求进行更细致的配置。