Spring Security

  1. Core Architectural Components
    1. The Servlet Filter Chain
      1. Purpose and Function of Servlet Filters
        1. `DelegatingFilterProxy`
          1. Role in Delegating to Spring Beans
            1. Configuration in `web.xml`
              1. Configuration in Spring Boot
              2. `FilterChainProxy`
                1. Managing Multiple Security Filter Chains
                  1. Order of Filters
                    1. Filter Chain Selection
                  2. The `SecurityFilterChain` Bean
                    1. Definition and Purpose
                      1. Customizing Filter Chains
                        1. Multiple Filter Chains for Different Endpoints
                          1. Filter Chain Matching
                          2. `SecurityContextHolder`
                            1. Storage Strategies
                              1. ThreadLocal Strategy
                                1. InheritableThreadLocal Strategy
                                  1. Global Strategy
                                  2. Accessing the Security Context
                                    1. Clearing the Security Context
                                      1. Thread Safety Considerations
                                      2. `SecurityContext`
                                        1. Structure and Purpose
                                          1. Storing Authentication Information
                                            1. Context Propagation
                                            2. `Authentication` Object
                                              1. Structure and Key Properties
                                                1. Principal
                                                  1. Credentials
                                                    1. Authorities
                                                      1. Authentication State
                                                      2. Key Interfaces and Implementations
                                                        1. `UserDetails`
                                                          1. Required Methods
                                                            1. Account Status Properties
                                                              1. Custom UserDetails Implementations
                                                              2. `UserDetailsService`
                                                                1. Loading User Information
                                                                  1. Implementing Custom UserDetailsService
                                                                    1. Exception Handling
                                                                    2. `GrantedAuthority`
                                                                      1. Role and Permission Representation
                                                                        1. Simple Granted Authority
                                                                          1. Custom Authority Implementations
                                                                          2. `PasswordEncoder`
                                                                            1. Purpose and Usage
                                                                              1. Encoding Passwords
                                                                                1. Matching Passwords