SpringSecurity
一、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
二、后端代码
(1)、配置类编写
1、配置PasswordEncoder密码编码器
@Configuration
public class SecurityConfig {
@Bean
public PasswordEncoder getPwdEncoder(){
return new BCryptPasswordEncoder();
}
}
2、修改配置类
- successForwardUrl()登录成功后跳转地址
- loginPage() 登录页面
- loginProcessingUrl登录页面表单提交地址,此地址可以不真实存 在。
- antMatchers():匹配内容
- permitAll():允许
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// 表单认证
http.formLogin()
.loginProcessingUrl("/login") //当发现/login 时认为是登录,需要执行UserDetailsServiceImpl
.successForwardUrl("/toMain") //此处是 post 请求
.failureForwardUrl("/fail")//登录失败跳转地址
.loginPage("/toLogin")
.usernameParameter("myusername") //自定义前端参数名称
.passwordParameter("mypassword");
// url 拦截 http.authorizeRequests() .antMatchers("/login.html") .permitAll()
//login.html 不需要被认证 .anyRequest().authenticated();
//所有的请求都必须被认证。必须登录后才能访问。
//关闭 csrf 防护
http.csrf().