SpringBoot集成SpringSecurity(二内存方式配置用户)
Posted 伍妖捌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot集成SpringSecurity(二内存方式配置用户)相关的知识,希望对你有一定的参考价值。
前言
在SpringBoot集成SpringSecurity(一、初体验)中已经介绍了两种配置用户的方式,本节介绍通过内存方式配置用户进行登录。
配置
要实现内存方式配置用户,需要重写SpringSecurity中默认的方法。接下来,我们创建一个名为SpringSecurityConfig的类并继承WebSecurityConfigurerAdapter类,然后重写其中的方法。
指定一个名为user的用户,密码123,权限user的用户
@EnableWebSecurity
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user")
.password(passwordEncoder().encode("123"))
.authorities("user");
}
}
由于在SpringSecurity中需要指定密码的加密方式,所以注入PasswordEncoder,使用BCryptPasswordEncoder进行密码加密。
注:想要让此配置生效,@EnableWebSecurity注解一定不能少
使用
启动项目,通过浏览器访问http://localhost:8080/
通过前面配置的user用户进行登录,发现登录成功,并成功返回了index
基于内存的方式配置用户就先介绍到这里。
以上是关于SpringBoot集成SpringSecurity(二内存方式配置用户)的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot项目启动后访问任意接口都会跳转到一个莫名其妙的login登录页面
SpringSecurity解决跨域问题,在SpringBoot整合SprinSecurity中如何用前后端分离Ajax登录,Ajax登录返回状态200还是近error