springboot面试之集成springsecurity
程序员文章站
2024-03-21 23:01:58
...
首先引入springsecurity的起步依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
然后实现抽象类org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
进行相关的配置,如下是一个可能的实现:
@Configuration
public class CustomLoginSecurityConfig extends WebSecurityConfigurerAdapter {
// 配置http的访问控制
@Override
protected void configure(HttpSecurity http) throws Exception {
// 允许访问/, /home
http.authorizeRequests().antMatchers("/", "/home")
// 所有其他请求都需要认证,即登录
.permitAll().anyRequest().authenticated()
.and()
// 配置/login为登录地址,并允许所有人访问该地址
.formLogin().loginPage("/login").permitAll()
.and()
// 使用默认的退出登录页面,并允许所有人访问
.logout().permitAll();
}
// 配置认证授权使用的用户和角色
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
// 不加改行设置密码编码器会报错
.passwordEncoder(NoOpPasswordEncoder.getInstance())
.withUser("user")
.password("user")
.roles("USER");
}
}
上一篇: 软件测试 | 知识理论大纲
下一篇: springboot总结