官网文档:Hello Spring Security :: Spring Security
JDK:1.8版本,使用IDEA快速搭建一个SpringBoot web项目,或者官网上下载一个demo
一、引入依赖因为SpringBoot可以直接集成SpringSecurity,所以POM中加上依赖直接可用
org.springframework.boot
spring-boot-starter-security
pom中依赖如下图:
二、编写请求接口 三、验证项目启动后,访问:http://localhost:8080/test/one,可以看到跳转到了一个登录页面,通过浏览器的开发者工具,可以看到由/test/one重定向到了登录接口/login
这个页面是security自身的,也可以配置成自己的登录页。账号和密码在未配置之前都是security默认的。账号默认是user,密码是随机生成的,在每次项目启动时会打印出来。源码在SecurityProperties中
项目启动时,打印的密码日志
登录成功后
四、设置账号密码如果想要自己设置账号密码,有三种方式:
4.1 配置中设置 4.2 配置类中设置@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String password = encoder.encode("1234");
auth.inMemoryAuthentication().withUser("janice").password(password).roles("admin");
}
DetailsService(myUserDetailService).passwordEncoder(passwordEncoder());
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
注意:密码需要经过加密处理,可以自己实现PasswordEncoder接口,也可以使用security里的加密方法,实现类需要注册成bean,不然会报错
加密类没有注册
密码没有加密
4.3 自定义登录
最常用的一种方式,数据库查询用户信息,实现用户登录逻辑,单独一章
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)