spring-security原理
图片中各个类的作用:
1JwtUser类:实现Springsecurity的UserDetails类,此类必须有三个属性 private String username; private String password; //权限,类如ROLE_ADMIN private Collection<? extends GrantedAuthority> authorities; 2 JwtUtils:jwt工具类 3 MD5Util:密码加密工具类 4 MyAccessDeniedHandler:实现Springsecurity的AccessDeniedHandler,Spring security权限不足处理类 5 MyAuthenticationException:实现Springsecurity的AuthenticationEntryPoint,Spring security其他异常处理类,比如请求路径不存在等 6 MyAuthenticationFailHandler: 实现Springsecurity的AuthenticationFailureHandler,Spring security登录失败处理类 7 MyAuthenticationSuccessHandler:实现Springsecurity的AuthenticationSuccessHandler,Spring security登录成功处理类 8 MyJwtTokenFilter: 继承Springsecurity的OncePerRequestFilter,token 过滤器,在这里解析token,拿到该用户角色,设置到springsecurity的上下文环境中,让springsecurity自动判断权限 9 MyUserDetailsService:实现Springsecurity的UserDetailsService,根据用户名获取数据库该用户信息,spring security在登录时自动调用 10 WebSecurityConfig: Spring security的总配置类,配置密码验证规则、拦截的url、登录接口地址、登录成功与失败后的处理器、各种异常处理器
转自:https://www.jianshu.com/p/fc56d965e3c3