wip - making db and sessions conditional

This commit is contained in:
Dario Ghunney Ware 2025-04-16 16:56:18 +01:00
parent 3591ef5cb7
commit 6aaedf52ea
5 changed files with 12 additions and 1 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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);