[
https://issues.apache.org/jira/browse/GEODE-10473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinwoo Hwang updated GEODE-10473:
---------------------------------
Fix Version/s: 2.0.0
> Upgrade Spring Security from 5 to 6.x
> -------------------------------------
>
> Key: GEODE-10473
> URL: https://issues.apache.org/jira/browse/GEODE-10473
> Project: Geode
> Issue Type: Improvement
> Reporter: Jinwoo Hwang
> Assignee: Jinwoo Hwang
> Priority: Major
> Fix For: 2.0.0
>
>
> Apache Geode currently uses Spring Security 5, which is based on the older
> Spring Framework 5.x and lacks modern security features and improvements.
> This task involves upgrading to Spring Security 6.x to take advantage of
> enhanced security capabilities, improved performance, and continued security
> updates.
> *Current Usage:*
> * Spring Security version: 5
> * Location: DependencyConstraints.groovy
> * Modules using Spring Security: geode-web-api, geode-web-management,
> geode-pulse, geode-assembly
> *Spring Security Artifacts Currently Used:*
> * spring-security-core (authentication and authorization core)
> * spring-security-web (web security features)
> * spring-security-config (configuration support)
> * spring-security-oauth2-core (OAuth2 support)
> * spring-security-oauth2-client (OAuth2 client features)
> * spring-security-oauth2-jose (JWT/JOSE support)
> * spring-security-ldap (LDAP authentication)
> * spring-security-test (testing utilities)
> *Key Components Using Spring Security:*
> * geode-web-management: REST API security configuration
> (RestSecurityConfiguration)
> * geode-pulse: Web console authentication (DefaultSecurityConfig, OAuth
> support)
> * geode-web-api: REST API endpoints security
> * OAuth2 integration for external identity providers
> * LDAP authentication support
> * Method-level security with EnableGlobalMethodSecurity
> *Benefits of Upgrading:*
> * Enhanced security features and modern authentication patterns
> * Improved OAuth2/OpenID Connect support
> * Better integration with Spring Framework 6.x (prerequisite)
> * Continued security patches and updates
> * Performance improvements in security processing
> * Modern security configuration patterns
> *Technical Considerations:*
> * WebSecurityConfigurerAdapter is deprecated in Spring Security 6.x -
> requires migration to SecurityFilterChain beans
> * OAuth2 configuration changes for client registration and authorization
> * Method security configuration updates
> * LDAP authentication configuration modernization
> * Authentication failure handler updates
> * Session management configuration changes
> *Breaking Changes Expected:*
> * WebSecurityConfigurerAdapter replacement with component-based configuration
> * OAuth2 client configuration API changes
> * Some authentication and authorization API modifications
> * LDAP configuration pattern updates
> * Test configuration updates for spring-security-test
> *Acceptance Criteria:*
> * All Spring Security artifacts upgraded to 6.x versions
> * Web management REST API security continues to function
> * Pulse web console authentication works correctly
> * OAuth2 integration remains functional
> * LDAP authentication continues to work
> * All security-related tests pass
> * No regression in authentication or authorization functionality
> * Documentation updated for any configuration changes
> *Testing Requirements:*
> * Comprehensive security testing across all web modules
> * OAuth2 flow validation
> * LDAP authentication testing
> * REST API security verification
> * Pulse console login/logout testing
> * Integration tests for all security configurations
> *Dependencies:*
> * Requires Spring Framework 6.x upgrade (prerequisite)
> * May require updates to related authentication libraries
> * Potential impact on servlet container compatibility
> The description now uses plain text file names without any special formatting
> that could trigger VS Code's automatic linking.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)