1.总结:
- 昨天主要是使用security实现了基于内存的认证和基于数据库的认证(实际项目中使用);
- 在security的项目中,必须配置WebSecurityConfigurerAdaptor的实现类来重写它的基于认证的config(AuthenticationManagerBuilder auth)方法以及它的基于授权的config(HttpSecurity http)方法
- 在认证的config(AuthticationManagerBuilder auth)中存在基于inMenmoryAuthentication的内存认证和基于setUserDetailsService实现类的数据库认证
- 在授权的config(HttpSecurity http)中可以实现对一些具备角色信息的url进行设置拦截;也可以实现表单登录,loginProcessingUrl设置表单接口的action,loginPage设置自定义跳转登录页面,再自定义表单的username和password名;还可以设置successfulHandler来自定义登陆成功处理,需要构造一个AuthenticationSuccessHandler类重写它的OnAuthenticationSuccess方法,该方法具体过程就是通过request获取用户信息再设置response对浏览器进行响应;有登陆成功自然也有登录失败处理,同上面一样设置failureHandler自定义登录失败处理,需要构造一个AuthenticationFailureHandler类重写它的OnAuthenticationFailure方法,设置response进行响应,过程是之前Jwt实现单点登录的ResponseUtil工具类,上面的OnAuthenticationSuccess方法的构写也是的;最后就是注销,使用logout方法开启注销,logoutUrl默认注销Url,还有清理身份信息和session清楚等,注销也有addlogoutHandler进行自定义注销处理(数据清理如cookie清除),还有logoutSuccessHandler自定义注销成功后处理,一般为跳回主页面,还没有注销失败处理