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