逻辑原理:
用户访问系统项目随便一个URL,会判断用户提供信息中是否带有账号密码,如果有则,直接进入自定义的表单登陆,如果没有,则会跳转到FilterSecurity Interceptor拦截器,进行判断,则会抛出异常,由Exception Translation Filter进行捕获,根据相应的情况(例如没有登陆用户,或者登陆了权限不够等)重定向到自定义的登陆界面。
- BrowserSecurityConfig.java 安全加载配置文件类
package com.imooc.security.browser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import com.imooc.security.core.properties.SecurityProperties;
/**
*
* @author cjj
* @date 2018年9月26日
* @email 729165621@qq.com
* @blog blog.csdn.net/qq_29451823
*/
@Configuration
public class BrowserSecurityConfig extends WebSecurityConfigurerAdapter{
@Autowired
private SecurityProperties securityProperties;
/**
* 处理密码加密解密
* @return
*/
@Bean
public PasswordEncoder passwordEncode() {
//PasswordEncoder的一个实现类
return new BCryptPasswordEncoder();
}
@Override
prot