Spring Security

  1. Authentication Mechanisms
    1. The Authentication Process Flow
      1. Request Interception
        1. Authentication Entry Point
          1. Authentication Manager Delegation
            1. Populating the Security Context
              1. Post-Authentication Processing
              2. Core Authentication Components
                1. `AuthenticationManager`
                  1. Role and Responsibilities
                    1. Custom Implementations
                      1. Exception Handling
                      2. `ProviderManager`
                        1. Delegation to Multiple Providers
                          1. Provider Selection Logic
                            1. Parent Authentication Manager
                            2. `AuthenticationProvider`
                              1. Implementing Custom Providers
                                1. Built-in Providers
                                  1. Provider Ordering
                                2. Standard Authentication Methods
                                  1. Form-Based Login
                                    1. Default Login Page
                                      1. Custom Login Pages
                                        1. Login Processing URL
                                          1. Username and Password Parameters
                                            1. Handling Login Success
                                              1. Handling Login Failure
                                                1. Remember Me Functionality
                                                2. HTTP Basic Authentication
                                                  1. How HTTP Basic Works
                                                    1. Configuration and Use Cases
                                                      1. Realm Configuration
                                                        1. Entry Point Customization
                                                        2. In-Memory Authentication
                                                          1. Defining Users in Configuration
                                                            1. Use Cases and Limitations
                                                              1. Password Storage
                                                              2. JDBC-Based Authentication
                                                                1. Database Schema Requirements
                                                                  1. Default User and Authority Queries
                                                                    1. Custom Queries for User Lookup
                                                                      1. Custom Queries for Authority Lookup
                                                                        1. DataSource Configuration
                                                                        2. LDAP Authentication
                                                                          1. LDAP Directory Structure
                                                                            1. Configuring LDAP Authentication
                                                                              1. LDAP Context Source
                                                                                1. User Search Configuration
                                                                                  1. Mapping LDAP Groups to Authorities
                                                                                2. Password Management
                                                                                  1. The `PasswordEncoder` Interface
                                                                                    1. Encoding Passwords
                                                                                      1. Verifying Passwords
                                                                                        1. Upgrading Encoding
                                                                                        2. Common Implementations
                                                                                          1. `BCryptPasswordEncoder`
                                                                                            1. Strength Configuration
                                                                                              1. Security Benefits
                                                                                                1. Performance Considerations
                                                                                                2. `Argon2PasswordEncoder`
                                                                                                  1. Memory-Hard Functions
                                                                                                    1. Salt Length Configuration
                                                                                                      1. Hash Length Configuration
                                                                                                        1. Parallelism Configuration
                                                                                                          1. Memory Configuration
                                                                                                            1. Iterations Configuration
                                                                                                            2. `SCryptPasswordEncoder`
                                                                                                              1. Key Derivation Function
                                                                                                                1. CPU Cost Parameter
                                                                                                                  1. Memory Cost Parameter
                                                                                                                    1. Parallelization Parameter
                                                                                                                      1. Key Length Configuration
                                                                                                                      2. `Pbkdf2PasswordEncoder`
                                                                                                                        1. PBKDF2 Algorithm
                                                                                                                          1. Iterations Configuration
                                                                                                                            1. Hash Width Configuration
                                                                                                                          2. Delegating Password Encoder
                                                                                                                            1. Supporting Multiple Encoding Schemes
                                                                                                                              1. Migration Strategies
                                                                                                                                1. Encoding ID Prefixes
                                                                                                                                2. Salt and Hashing Concepts
                                                                                                                                  1. Importance of Salting
                                                                                                                                    1. Hashing Algorithms Overview
                                                                                                                                      1. Rainbow Table Protection