目录
1.WebSecurityConfigurerAdapter security的配置类
2.UserDetailsService 接口,实现它来做用户的查询
3.BCryptPasswordEncoder 用户密码加密类
4.UserDetails 接口 根据用户名查询返回的用户信息
5.HttpSessionRequestCache security会把当前的请求缓存在这个类里面,利用它可以拿到缓存的请求
6.RedirectStrategy security中做重定向的接口
7@Configuration,@ConfigurationProperties,@EnableConfigurationProperties
10.ObjectMapper 隶属于jsckosn,json与对象之间转换,用于页面输出
11.UsernamePasswordAuthenticationFilter 表单登录的过滤器
12.ProviderManager 表单登录的Manager
13.AbstractUserDetailsAuthenticationProvider,DaoAuthenticationProvider 表单登录的Provider
15.SecurityContextHolder 对ThreadLocal做了封装
16.SecurityContextPersistenceFilter 过滤器链上的第一个过滤器实现了认证结果在多个请求之间的共享
18.SessionStrategy 操作session的类
20.OncePerRequestFilter security中只会执行一次的过滤器
21.Security中的异常抛出都为AuthenticationException类型
1.WebSecurityConfigurerAdapter security的配置类
2.UserDetailsService 接口,实现它来做用户的查询
3.BCryptPasswordEncoder 用户密码加密类
4.UserDetails 接口 根据用户名查询返回的用户信息
5.HttpSessionRequestCache security会把当前的请求缓存在这个类里面,利用它可以拿到缓存的请求
6.RedirectStrategy security中做重定向的接口
7@Configuration,@ConfigurationProperties,@EnableConfigurationProperties
对yml配置进行封装
8.WebMvcConfigurer 添加请求映射,直接映射到templates,不走Controller
9. AuthenticationSuccessHandler,AuthenticationFailureHandler
SavedRequestAwareAuthenticationSuccessHandler,SimpleUrlAuthenticationFailureHandler 登录成功或失败的处理接口以及Security默认的处理事件
10.ObjectMapper 隶属于jsckosn,json与对象之间转换,用于页面输出
11.UsernamePasswordAuthenticationFilter 表单登录的过滤器
12.ProviderManager 表单登录的Manager
13.AbstractUserDetailsAuthenticationProvider,DaoAuthenticationProvider 表单登录的Provider
14.SecurityContext 对认证结果的简单封装
15.SecurityContextHolder 对ThreadLocal做了封装
16.SecurityContextPersistenceFilter 过滤器链上的第一个过滤器实现了认证结果在多个请求之间的共享
17.BufferedImage 用来存储生成的图片验证码
18.SessionStrategy 操作session的类
19.ImageIO 将图形验证码输出到页面的IO
20.OncePerRequestFilter security中只会执行一次的过滤器
21.Security中的异常抛出都为AuthenticationException类型
22. ServletRequestUtils 拿到Request请求里面的参数的工具类
23.InitializingBean 当Bean的属性装配完成后就会执行afterPropertiesSet()这个方法。依赖注入发生在用户第一次向IOC容器索要Bean时才开始依赖注入过程(也可以通过配置lazy-init属性让容器初始化的时候就对Bean预实例化)
需要注意的是实现了InitializingBean接口的类必须要交给Bean容器来来管理他的afterPropertiesSet()才会被执行。
24.AntPathMatcher spring中匹配路径的工具类。
25.PersistentTokenRepository,Security中持久化Token的接口,实现的方式有两种,一种是内存,一种是数据库。
选择数据库的方式他会去创建表:
26.ServletWebRequest Spring的工具类,他的作用是封装请求和响应,如果应用需要Request和Response不用每次都传两个参数。
27.@ConditionalOnMissingBean 条件装配的注解
28.
开发技巧:
以增量的方式适应变化
模板方法:主干逻辑相同而其中步骤有些不同的这种代码,会用模板方法模式把他抽象出来
依赖搜索:请求的后半段不同,拿出来的生成器的实现也不同。
开发技巧:分层的封装,将主干逻辑和生成逻辑来分开封装。什么好处呢?比如现在短信验证码的生成逻辑和发送逻辑都变了,那么可以直接实现ValidateCodeProcessor接口重写整个逻辑,如果只是生成逻辑变了,那么实现这个ValidateCodeGenerator接口就行了。总体来说就是去分层的封装系统中可能出现变化的部分。