SpringSecurity---基于内存的FormLogin
作者:互联网
SpringSecurity已经内置了一个登陆页面,所以目前我们就采取默认的登陆页面
一. 引入依赖
这步略过不表
二. 默认实现
添加一个接口
@RestController
public class TestController {
@GetMapping("/test")
public String test(){
return "this is test";
}
}
访问接口
会出现如下页面
默认的用户名为user,密码为控制台打印的一串字符
当然,也可以在application.yml中配置
三. 基于内存的简单认证
继承WebSecurityConfigurerAdapter
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
}
配置密码加密方式
SpringSecurity5.x后必须指定一种加密方式
不然会报错
这里我们使用BCryptPasswordEncoder
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
配置用户名和密码和角色
//主要是重写configure方法
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user1")
.password(passwordEncoder().encode("123456"))
.roles("root")
.and()
.withUser("user2")
.password(passwordEncoder().encode("123456"))
.roles("user");
}
虽然这里角色并没有实际的用处,但不加会报错
其实这两种,我感觉可以说是基本没什么用
暂时并不会涉及到授权,这会在后面用专门的文章去讲
完整代码会放在GitHub上,欢迎star
标签:passwordEncoder,SpringSecurity,---,test,报错,默认,FormLogin,public,页面 来源: https://www.cnblogs.com/GodTestLove/p/14492685.html