Spring Security采用哪些设计模式
时间: 2023-12-05 17:15:37 浏览: 92
spring的设计模式
4星 · 用户满意度95%
Spring Security采用了以下设计模式:
1. 责任链模式:Spring Security中的FilterChainProxy就是一个责任链模式的实现,每个Filter都负责处理请求的一部分,如果当前Filter无法处理请求,则将请求传递给下一个Filter。
2. 模板方法模式:Spring Security中的AbstractAuthenticationProcessingFilter和AbstractRememberMeServices都使用了模板方法模式,通过定义算法骨架,将具体实现交给子类去完成。
3. 单例模式:Spring Security中的SecurityContextHolder和AuthenticationManager都使用了单例模式,保证了在整个应用中只有一个实例。
4. 代理模式:Spring Security中的FilterSecurityInterceptor就是一个代理模式的实现,通过代理控制访问权限。
5. 观察者模式:Spring Security中的AuthenticationEventPublisher使用了观察者模式,当用户登录成功或失败时,会通知所有的观察者。
6. 策略模式:Spring Security中的AccessDecisionManager使用了策略模式,根据不同的策略来决定用户是否有权限访问资源。
阅读全文