spring security个人理解

  • 1.描述

1.spring security是为我们提供统一登录认证和权限管理的一个框架

  • 2.流程梳理:

1.首先我们在登录系统的时候,发现没有登录,这个时候,我们会抛出异常AccessDeniedException,会为我们重定向到登录页面

ExceptionTranslationFilter里面补货异常(accessDeniedHandler),进行跳转(LoginUrlAuthenticationEntryPoint)

2.我们输入登录信息,进行用户密码校验,获取用户信息(UserDetails的实现类),在(UsernamePasswordAuthenticationFilter)校验

3.把用户信息放入SecurityContext中(线程安全的),同时放入session当中(SecurityContextPersistenceFilter)

4.在下一次登录的时候,用户携带sessionId,Tomcat容器根据sessionId获取session信息,放入request当中,同时放入SecurityContext供后续使用

 

  • 3.比较重要的两个类:

FilterChainProxy:控制spring security的filter依次处理,责任链模式

FilterComparator:默认注册的spring security的filter

posted @ 2020-09-04 17:31  倚天飞狐  阅读(235)  评论(0)    收藏  举报