mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-11-01 01:21:18 +01:00 
			
		
		
		
	wip - making db and sessions conditional
This commit is contained in:
		
							parent
							
								
									3591ef5cb7
								
							
						
					
					
						commit
						6aaedf52ea
					
				@ -5,6 +5,7 @@ import java.util.List;
 | 
			
		||||
import java.util.Optional;
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Qualifier;
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 | 
			
		||||
import org.springframework.context.annotation.Lazy;
 | 
			
		||||
import org.springframework.http.HttpStatus;
 | 
			
		||||
import org.springframework.security.core.Authentication;
 | 
			
		||||
@ -34,6 +35,7 @@ import stirling.software.common.model.ApplicationProperties.Security.SAML2;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Component
 | 
			
		||||
@ConditionalOnProperty(name = "premium.enabled", havingValue = "true")
 | 
			
		||||
public class UserAuthenticationFilter extends OncePerRequestFilter {
 | 
			
		||||
 | 
			
		||||
    private final ApplicationProperties.Security securityProp;
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,7 @@ import java.util.Optional;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
import org.springframework.context.MessageSource;
 | 
			
		||||
import org.springframework.context.annotation.Lazy;
 | 
			
		||||
import org.springframework.context.i18n.LocaleContextHolder;
 | 
			
		||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 | 
			
		||||
import org.springframework.security.core.Authentication;
 | 
			
		||||
@ -56,7 +57,7 @@ public class UserService implements UserServiceInterface {
 | 
			
		||||
 | 
			
		||||
    private final SessionPersistentRegistry sessionRegistry;
 | 
			
		||||
 | 
			
		||||
    private final DatabaseInterface databaseService;
 | 
			
		||||
    @Lazy private final DatabaseInterface databaseService;
 | 
			
		||||
 | 
			
		||||
    private final ApplicationProperties.Security.OAUTH2 oAuth2;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,9 +3,11 @@ package stirling.software.SPDF.config.security.database;
 | 
			
		||||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Qualifier;
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 | 
			
		||||
import org.springframework.boot.jdbc.DataSourceBuilder;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.context.annotation.Lazy;
 | 
			
		||||
 | 
			
		||||
import lombok.Getter;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
@ -16,7 +18,9 @@ import stirling.software.common.model.exception.UnsupportedProviderException;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Getter
 | 
			
		||||
@Lazy
 | 
			
		||||
@Configuration
 | 
			
		||||
@ConditionalOnProperty(name = "premium.proFeatures.database", havingValue = "true")
 | 
			
		||||
public class DatabaseConfig {
 | 
			
		||||
 | 
			
		||||
    public final String DATASOURCE_DEFAULT_URL;
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,12 @@
 | 
			
		||||
package stirling.software.SPDF.config.security.session;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.security.core.session.SessionRegistryImpl;
 | 
			
		||||
 | 
			
		||||
@Configuration
 | 
			
		||||
@ConditionalOnProperty(name = "premium.enabled", havingValue = "true")
 | 
			
		||||
public class SessionRegistryConfig {
 | 
			
		||||
 | 
			
		||||
    @Bean
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@ package stirling.software.SPDF.config.security.session;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 | 
			
		||||
import org.springframework.data.jpa.repository.JpaRepository;
 | 
			
		||||
import org.springframework.data.jpa.repository.Modifying;
 | 
			
		||||
import org.springframework.data.jpa.repository.Query;
 | 
			
		||||
@ -14,6 +15,7 @@ import jakarta.transaction.Transactional;
 | 
			
		||||
import stirling.software.SPDF.model.SessionEntity;
 | 
			
		||||
 | 
			
		||||
@Repository
 | 
			
		||||
@ConditionalOnProperty(name = "premium.enabled", havingValue = "true")
 | 
			
		||||
public interface SessionRepository extends JpaRepository<SessionEntity, String> {
 | 
			
		||||
    List<SessionEntity> findByPrincipalName(String principalName);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user