Jinwoo Hwang created GEODE-10473:
------------------------------------

             Summary: 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


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)

Reply via email to