springboot security 配置不生效,能不能提供一个DEMO,唉,积分用完了
当Spring Boot应用程序的安全配置不起作用时,可能有多种原因。以下是一些常见的问题和解决方法:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
spring.security.enabled=true
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
// ...
}
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/**").permitAll()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/home")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/")
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("{noop}password").roles("USER")
.and()
.withUser("admin").password("{noop}password").roles("USER", "ADMIN");
}
}
这是一个简单的安全配置,它允许所有用户访问应用程序的根路径,但要求管理员角色才能访问/admin路径。它还定义了一个内存身份验证提供程序,其中包含两个用户:一个具有USER角色的用户和一个具有USER和ADMIN角色的用户。
希望这可以帮助您解决Spring Boot应用程序中的安全配置问题。