diff --git a/community/security/src/main/java/org/neo4j/server/security/auth/AuthProcedures.java b/community/security/src/main/java/org/neo4j/server/security/auth/AuthProcedures.java index aed23eccd0db5..325768e28f113 100644 --- a/community/security/src/main/java/org/neo4j/server/security/auth/AuthProcedures.java +++ b/community/security/src/main/java/org/neo4j/server/security/auth/AuthProcedures.java @@ -51,7 +51,6 @@ public void createUser( throws InvalidArgumentsException, IOException { BasicAuthSubject subject = BasicAuthSubject.castOrFail( authSubject ); -// subject.getAuthManager().newUser( username, password, requirePasswordChange ); userManager.newUser( username, password, requirePasswordChange ); } diff --git a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java index 8c91d4084d536..7a0aca59cfee3 100644 --- a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java +++ b/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/configuration/EnterpriseEditionSettings.java @@ -19,25 +19,15 @@ */ package org.neo4j.kernel.impl.enterprise.configuration; -import java.io.File; import java.util.List; import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.factory.Description; -import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.kernel.configuration.Internal; import org.neo4j.kernel.impl.store.id.IdType; -import static org.neo4j.kernel.configuration.Settings.BOOLEAN; -import static org.neo4j.kernel.configuration.Settings.BYTES; -import static org.neo4j.kernel.configuration.Settings.DURATION; -import static org.neo4j.kernel.configuration.Settings.INTEGER; -import static org.neo4j.kernel.configuration.Settings.PATH; import static org.neo4j.kernel.configuration.Settings.STRING; -import static org.neo4j.kernel.configuration.Settings.derivedSetting; import static org.neo4j.kernel.configuration.Settings.list; -import static org.neo4j.kernel.configuration.Settings.max; -import static org.neo4j.kernel.configuration.Settings.min; import static org.neo4j.kernel.configuration.Settings.optionsIgnoreCase; import static org.neo4j.kernel.configuration.Settings.setting; import static org.neo4j.kernel.impl.store.id.IdType.NODE; @@ -56,28 +46,6 @@ public class EnterpriseEditionSettings "dbms.ids.reuse.types.override", list( ",", optionsIgnoreCase( NODE, RELATIONSHIP ) ), String.join( ",", IdType.RELATIONSHIP.name(), IdType.NODE.name() ) ); - @Internal - public static final Setting security_log_filename = derivedSetting("dbms.security.log_path", - GraphDatabaseSettings.logs_directory, - ( logs ) -> new File( logs, "security.log" ), - PATH ); - - @Description( "Set to log successful authentication events." ) - public static final Setting security_log_successful_authentication = - setting("dbms.security.log_successful_authentication", BOOLEAN, "true" ); - - @Description( "Threshold for rotation of the security log." ) - public static final Setting store_security_log_rotation_threshold = - setting("dbms.logs.security.rotation.size", BYTES, "20m", min(0L), max( Long.MAX_VALUE ) ); - - @Description( "Minimum time interval after last rotation of the security log before it may be rotated again." ) - public static final Setting store_security_log_rotation_delay = - setting("dbms.logs.security.rotation.delay", DURATION, "300s" ); - - @Description( "Maximum number of history files for the security log." ) - public static final Setting store_security_log_max_archives = - setting("dbms.logs.security.rotation.keep_number", INTEGER, "7", min(1) ); - @Internal public static final Setting security_module = setting( "unsupported.dbms.security.module", STRING, ENTERPRISE_SECURITY_MODULE_ID ); diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/AuthProcedures.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/AuthProcedures.java index 106ae2abadcd7..6428d9a821084 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/AuthProcedures.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/AuthProcedures.java @@ -35,7 +35,7 @@ import org.neo4j.kernel.api.exceptions.InvalidArgumentsException; import org.neo4j.kernel.impl.api.KernelTransactions; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.procedure.Context; import org.neo4j.procedure.Description; diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java index 03d59437bc008..712a2326b8678 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java @@ -35,9 +35,9 @@ import org.neo4j.kernel.api.exceptions.KernelException; import org.neo4j.kernel.api.security.SecurityModule; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.enterprise.api.security.EnterpriseAuthManager; -import org.neo4j.kernel.impl.enterprise.SecurityLog; import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; import org.neo4j.kernel.impl.factory.PlatformModule; import org.neo4j.kernel.impl.proc.Procedures; @@ -128,7 +128,7 @@ public EnterpriseAuthAndUserManager newAuthManager( Config config, LogProvider l } return new MultiRealmAuthManager( internalRealm, orderedActiveRealms, createCacheManager( config ), - securityLog, config.get( EnterpriseEditionSettings.security_log_successful_authentication ) ); + securityLog, config.get( SecuritySettings.security_log_successful_authentication ) ); } private static List selectOrderedActiveRealms( List configuredRealms, List availableRealms ) diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealm.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealm.java index 7251b9e59a694..1fa0def4c0edf 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealm.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealm.java @@ -58,6 +58,7 @@ import org.neo4j.server.security.enterprise.auth.plugin.api.PredefinedRoles; import org.neo4j.server.security.enterprise.auth.plugin.api.RealmOperations; import org.neo4j.server.security.enterprise.auth.plugin.spi.RealmLifecycle; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import static java.lang.String.format; diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/LdapRealm.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/LdapRealm.java index 578129b766379..ddccf3e10d5ba 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/LdapRealm.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/LdapRealm.java @@ -62,7 +62,8 @@ import org.neo4j.kernel.api.security.AuthenticationResult; import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; +import org.neo4j.server.security.enterprise.log.SecurityLog; import static java.lang.String.format; import org.neo4j.server.security.auth.Credential; diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManager.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManager.java index f8f311434e18b..b6b530f71c473 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManager.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManager.java @@ -45,7 +45,7 @@ import org.neo4j.kernel.api.security.AuthenticationResult; import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException; import org.neo4j.kernel.enterprise.api.security.EnterpriseAuthSubject; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.server.security.enterprise.auth.plugin.spi.RealmLifecycle; import static org.neo4j.helpers.Strings.escape; diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/StandardEnterpriseAuthSubject.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/StandardEnterpriseAuthSubject.java index 14190da97e674..f7205a00f957a 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/StandardEnterpriseAuthSubject.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/StandardEnterpriseAuthSubject.java @@ -28,7 +28,7 @@ import org.neo4j.kernel.api.security.AuthenticationResult; import org.neo4j.kernel.api.exceptions.InvalidArgumentsException; import org.neo4j.kernel.enterprise.api.security.EnterpriseAuthSubject; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; public class StandardEnterpriseAuthSubject implements EnterpriseAuthSubject { diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java index 275c0a899066e..d78797268dac7 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/plugin/PluginRealm.java @@ -53,7 +53,7 @@ import org.neo4j.server.security.enterprise.auth.plugin.spi.CustomCacheableAuthenticationInfo; import org.neo4j.server.security.enterprise.auth.plugin.spi.RealmLifecycle; -import static org.neo4j.server.security.enterprise.auth.SecuritySettings.PLUGIN_REALM_NAME_PREFIX; +import static org.neo4j.server.security.enterprise.configuration.SecuritySettings.PLUGIN_REALM_NAME_PREFIX; public class PluginRealm extends AuthorizingRealm implements RealmLifecycle { diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/SecuritySettings.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/configuration/SecuritySettings.java similarity index 84% rename from enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/SecuritySettings.java rename to enterprise/security/src/main/java/org/neo4j/server/security/enterprise/configuration/SecuritySettings.java index fe47a369e9984..33b057dcd774b 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/SecuritySettings.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/configuration/SecuritySettings.java @@ -17,22 +17,28 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.neo4j.server.security.enterprise.auth; +package org.neo4j.server.security.enterprise.configuration; +import java.io.File; import java.util.Arrays; import java.util.List; import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.factory.Description; +import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.kernel.configuration.Internal; import static org.neo4j.kernel.configuration.Settings.BOOLEAN; +import static org.neo4j.kernel.configuration.Settings.BYTES; import static org.neo4j.kernel.configuration.Settings.DURATION; import static org.neo4j.kernel.configuration.Settings.INTEGER; import static org.neo4j.kernel.configuration.Settings.NO_DEFAULT; +import static org.neo4j.kernel.configuration.Settings.PATH; import static org.neo4j.kernel.configuration.Settings.STRING; import static org.neo4j.kernel.configuration.Settings.STRING_LIST; import static org.neo4j.kernel.configuration.Settings.derivedSetting; +import static org.neo4j.kernel.configuration.Settings.max; +import static org.neo4j.kernel.configuration.Settings.min; import static org.neo4j.kernel.configuration.Settings.setting; /** @@ -47,6 +53,10 @@ public class SecuritySettings @SuppressWarnings( "unused" ) // accessed by reflection + //========================================================================= + // Realm settings + //========================================================================= + @Description( "The security realm that contains the users and roles used for authentication and authorization. " + "This can be one of the built-in `" + NATIVE_REALM_NAME + "` or `" + LDAP_REALM_NAME + "` realms, " + "or it can be an externally provided plugin realm, with a custom name prefixed by `" + @@ -99,6 +109,10 @@ public class SecuritySettings ( realms ) -> realms.stream().anyMatch( ( r ) -> r.startsWith( PLUGIN_REALM_NAME_PREFIX ) ), BOOLEAN ); + //========================================================================= + // LDAP settings + //========================================================================= + @Description( "URL of LDAP server (with protocol, hostname and port) to use for authentication and authorization. " + "If no protocol is specified the default will be `ldap://`. To use LDAPS, " + "set the protocol and port, e.g. `ldaps://ldap.example.com:636`" ) @@ -189,6 +203,10 @@ public class SecuritySettings public static Setting ldap_authorization_group_to_role_mapping = setting( "dbms.security.realms.ldap.authorization.group_to_role_mapping", STRING, NO_DEFAULT ); + //========================================================================= + // Cache settings + //========================================================================= + @Description( "The time to live (TTL) for cached authentication and authorization info. Setting the TTL to 0 will" + " disable auth caching." ) public static Setting auth_cache_ttl = @@ -197,4 +215,30 @@ public class SecuritySettings @Description( "The maximum capacity for authentication and authorization caches (respectively)." ) public static Setting auth_cache_max_capacity = setting( "dbms.security.realms.auth_cache_max_capacity", INTEGER, "10000" ); + + //========================================================================= + // Security log settings + //========================================================================= + + @Internal + public static final Setting security_log_filename = derivedSetting("dbms.security.log_path", + GraphDatabaseSettings.logs_directory, + ( logs ) -> new File( logs, "security.log" ), + PATH ); + + @Description( "Set to log successful authentication events." ) + public static final Setting security_log_successful_authentication = + setting("dbms.security.log_successful_authentication", BOOLEAN, "true" ); + + @Description( "Threshold for rotation of the security log." ) + public static final Setting store_security_log_rotation_threshold = + setting("dbms.logs.security.rotation.size", BYTES, "20m", min(0L), max( Long.MAX_VALUE ) ); + + @Description( "Minimum time interval after last rotation of the security log before it may be rotated again." ) + public static final Setting store_security_log_rotation_delay = + setting("dbms.logs.security.rotation.delay", DURATION, "300s" ); + + @Description( "Maximum number of history files for the security log." ) + public static final Setting store_security_log_max_archives = + setting("dbms.logs.security.rotation.keep_number", INTEGER, "7", min(1) ); } diff --git a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/SecurityLog.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/log/SecurityLog.java similarity index 90% rename from enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/SecurityLog.java rename to enterprise/security/src/main/java/org/neo4j/server/security/enterprise/log/SecurityLog.java index 9f8d4a6ff57cd..04acd77e0c927 100644 --- a/enterprise/kernel/src/main/java/org/neo4j/kernel/impl/enterprise/SecurityLog.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/log/SecurityLog.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.neo4j.kernel.impl.enterprise; +package org.neo4j.server.security.enterprise.log; import java.io.File; import java.io.IOException; @@ -27,7 +27,6 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.api.security.AuthSubject; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.kernel.lifecycle.LifecycleAdapter; import org.neo4j.logging.FormattedLog; @@ -35,9 +34,9 @@ import org.neo4j.logging.Logger; import org.neo4j.logging.RotatingFileOutputStreamSupplier; import org.neo4j.logging.async.AsyncLog; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import static org.neo4j.helpers.Strings.escape; -import static org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.security_log_filename; public class SecurityLog extends LifecycleAdapter implements Log { @@ -47,12 +46,12 @@ public class SecurityLog extends LifecycleAdapter implements Log public SecurityLog( Config config, FileSystemAbstraction fileSystem, Executor executor ) throws IOException { FormattedLog.Builder builder = FormattedLog.withUTCTimeZone(); - File logFile = config.get( security_log_filename ); + File logFile = config.get( SecuritySettings.security_log_filename ); rotatingSupplier = new RotatingFileOutputStreamSupplier( fileSystem, logFile, - config.get( EnterpriseEditionSettings.store_security_log_rotation_threshold ), - config.get( EnterpriseEditionSettings.store_security_log_rotation_delay ), - config.get( EnterpriseEditionSettings.store_security_log_max_archives ), executor ); + config.get( SecuritySettings.store_security_log_rotation_threshold ), + config.get( SecuritySettings.store_security_log_rotation_delay ), + config.get( SecuritySettings.store_security_log_max_archives ), executor ); this.inner = new AsyncLog( event -> executor.execute( event::process ), diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/AuthProceduresLoggingTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/AuthProceduresLoggingTest.java index bddf0af4b4dc2..81120a7959ec3 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/AuthProceduresLoggingTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/AuthProceduresLoggingTest.java @@ -29,7 +29,7 @@ import org.neo4j.graphdb.security.AuthorizationViolationException; import org.neo4j.kernel.api.exceptions.InvalidArgumentsException; import org.neo4j.kernel.api.security.AuthSubject; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.logging.AssertableLogProvider; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModuleTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModuleTest.java index 783e1e60657a2..bb6cd4e1b84c0 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModuleTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModuleTest.java @@ -26,7 +26,8 @@ import java.util.Arrays; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealmTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealmTest.java index 6c5ab50e46bc1..c9278f00f0fb5 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealmTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/InternalFlatFileRealmTest.java @@ -36,7 +36,7 @@ import org.neo4j.kernel.api.security.AuthenticationResult; import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException; import org.neo4j.kernel.enterprise.api.security.EnterpriseAuthSubject; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.server.security.auth.AuthenticationStrategy; import org.neo4j.server.security.auth.BasicPasswordPolicy; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapCachingTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapCachingTest.java index 8466524bef894..33d60d5e6e50b 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapCachingTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapCachingTest.java @@ -41,7 +41,8 @@ import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.enterprise.api.security.EnterpriseAuthSubject; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.server.security.auth.BasicPasswordPolicy; import org.neo4j.server.security.auth.InMemoryUserRepository; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapRealmTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapRealmTest.java index fd429cd031096..14638e7b5dda1 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapRealmTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/LdapRealmTest.java @@ -48,7 +48,8 @@ import javax.naming.ldap.LdapContext; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; +import org.neo4j.server.security.enterprise.log.SecurityLog; import static java.util.Arrays.asList; import static java.util.Collections.singletonList; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerRule.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerRule.java index 402503e03a680..e6416b356a0b8 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerRule.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerRule.java @@ -28,7 +28,7 @@ import java.util.Collections; import org.neo4j.kernel.api.security.AuthSubject; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.logging.AssertableLogProvider; import org.neo4j.logging.Log; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerTest.java index 6149089ea2e1a..2e655516a726e 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/MultiRealmAuthManagerTest.java @@ -33,7 +33,7 @@ import org.neo4j.kernel.api.security.AuthenticationResult; import org.neo4j.kernel.api.security.exception.InvalidAuthTokenException; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.SecurityLog; +import org.neo4j.server.security.enterprise.log.SecurityLog; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.logging.AssertableLogProvider; import org.neo4j.logging.Log; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/ActiveDirectoryAuthenticationIT.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/ActiveDirectoryAuthenticationIT.java index c6230e16d5e3d..d190aabbf57b0 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/ActiveDirectoryAuthenticationIT.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/ActiveDirectoryAuthenticationIT.java @@ -39,7 +39,7 @@ import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.helpers.HostnamePort; import org.neo4j.kernel.api.exceptions.Status; -import org.neo4j.server.security.enterprise.auth.SecuritySettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import org.neo4j.test.TestEnterpriseGraphDatabaseFactory; import org.neo4j.test.TestGraphDatabaseFactory; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/EnterpriseAuthenticationTestBase.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/EnterpriseAuthenticationTestBase.java index 10eb3974b6abb..3e966a622fdba 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/EnterpriseAuthenticationTestBase.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/EnterpriseAuthenticationTestBase.java @@ -38,7 +38,7 @@ import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.helpers.HostnamePort; import org.neo4j.kernel.api.exceptions.Status; -import org.neo4j.server.security.enterprise.auth.SecuritySettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import org.neo4j.test.TestEnterpriseGraphDatabaseFactory; import org.neo4j.test.TestGraphDatabaseFactory; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapAuthenticationIT.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapAuthenticationIT.java index 54fa81b629f13..f157945df48b7 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapAuthenticationIT.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapAuthenticationIT.java @@ -50,7 +50,7 @@ import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.server.security.enterprise.auth.ProcedureInteractionTestBase; -import org.neo4j.server.security.enterprise.auth.SecuritySettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapExamplePluginAuthenticationIT.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapExamplePluginAuthenticationIT.java index bc51cc6fdbc9e..6c623ea758ca9 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapExamplePluginAuthenticationIT.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/LdapExamplePluginAuthenticationIT.java @@ -37,7 +37,7 @@ import java.util.function.Consumer; import org.neo4j.graphdb.config.Setting; -import org.neo4j.server.security.enterprise.auth.SecuritySettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import org.neo4j.server.security.enterprise.auth.plugin.LdapGroupHasUsersAuthPlugin; @RunWith( FrameworkRunner.class ) diff --git a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/PluginAuthenticationIT.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/PluginAuthenticationIT.java index 6eb6c3fd9fe29..7504c21bc9e1c 100644 --- a/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/PluginAuthenticationIT.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/auth/integration/bolt/PluginAuthenticationIT.java @@ -31,7 +31,7 @@ import org.neo4j.bolt.v1.transport.integration.TransportTestUtil; import org.neo4j.graphdb.config.Setting; import org.neo4j.kernel.api.exceptions.Status; -import org.neo4j.server.security.enterprise.auth.SecuritySettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import org.neo4j.server.security.enterprise.auth.plugin.TestCacheableAuthPlugin; import org.neo4j.server.security.enterprise.auth.plugin.TestCacheableAuthenticationPlugin; import org.neo4j.server.security.enterprise.auth.plugin.TestCustomCacheableAuthenticationPlugin; diff --git a/enterprise/kernel/src/test/java/org/neo4j/kernel/impl/enterprise/SecurityLogTest.java b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/log/SecurityLogTest.java similarity index 65% rename from enterprise/kernel/src/test/java/org/neo4j/kernel/impl/enterprise/SecurityLogTest.java rename to enterprise/security/src/test/java/org/neo4j/server/security/enterprise/log/SecurityLogTest.java index 4cfc1768ae047..226849574303e 100644 --- a/enterprise/kernel/src/test/java/org/neo4j/kernel/impl/enterprise/SecurityLogTest.java +++ b/enterprise/security/src/test/java/org/neo4j/server/security/enterprise/log/SecurityLogTest.java @@ -17,8 +17,10 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ -package org.neo4j.kernel.impl.enterprise; +package org.neo4j.server.security.enterprise.log; +import org.hamcrest.MatcherAssert; +import org.hamcrest.Matchers; import org.junit.Rule; import org.junit.Test; @@ -28,12 +30,9 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import org.neo4j.test.rule.fs.EphemeralFileSystemRule; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.containsString; -import static org.hamcrest.Matchers.equalTo; import static org.neo4j.helpers.collection.MapUtil.stringMap; public class SecurityLogTest @@ -42,8 +41,8 @@ public class SecurityLogTest public EphemeralFileSystemRule fileSystemRule = new EphemeralFileSystemRule(); Config config = Config.defaults().augment( - stringMap( EnterpriseEditionSettings.store_security_log_rotation_threshold.name(), "5", - EnterpriseEditionSettings.store_security_log_rotation_delay.name(), "1ms" ) ); + stringMap( SecuritySettings.store_security_log_rotation_threshold.name(), "5", + SecuritySettings.store_security_log_rotation_delay.name(), "1ms" ) ); @Test public void shouldRotateLog() throws IOException @@ -54,18 +53,18 @@ public void shouldRotateLog() throws IOException FileSystemAbstraction fs = fileSystemRule.get(); - File activeLogFile = config.get( EnterpriseEditionSettings.security_log_filename ); - assertThat( fs.fileExists( activeLogFile ), equalTo( true ) ); - assertThat( fs.fileExists( archive( 1 ) ), equalTo( true ) ); - assertThat( fs.fileExists( archive( 2 ) ), equalTo( false ) ); + File activeLogFile = config.get( SecuritySettings.security_log_filename ); + MatcherAssert.assertThat( fs.fileExists( activeLogFile ), Matchers.equalTo( true ) ); + MatcherAssert.assertThat( fs.fileExists( archive( 1 ) ), Matchers.equalTo( true ) ); + MatcherAssert.assertThat( fs.fileExists( archive( 2 ) ), Matchers.equalTo( false ) ); String[] activeLines = readLogFile( fs, activeLogFile ); - assertThat( activeLines.length, equalTo( 1 ) ); - assertThat( activeLines[0], containsString( "line 2" ) ); + MatcherAssert.assertThat( activeLines.length, Matchers.equalTo( 1 ) ); + MatcherAssert.assertThat( activeLines[0], Matchers.containsString( "line 2" ) ); String[] archiveLines = readLogFile( fs, archive( 1 ) ); - assertThat( archiveLines.length, equalTo( 1 ) ); - assertThat( archiveLines[0], containsString( "line 1" ) ); + MatcherAssert.assertThat( archiveLines.length, Matchers.equalTo( 1 ) ); + MatcherAssert.assertThat( archiveLines[0], Matchers.containsString( "line 1" ) ); } private String[] readLogFile( FileSystemAbstraction fs, File activeLogFile ) throws IOException @@ -79,7 +78,7 @@ private String[] readLogFile( FileSystemAbstraction fs, File activeLogFile ) thr private File archive( int archiveNumber ) { - return new File( String.format( "%s.%d", config.get( EnterpriseEditionSettings.security_log_filename ), + return new File( String.format( "%s.%d", config.get( SecuritySettings.security_log_filename ), archiveNumber ) ); } } diff --git a/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseBootstrapper.java b/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseBootstrapper.java index 3a073e0ee0260..0d83dc011585f 100644 --- a/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseBootstrapper.java +++ b/enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/EnterpriseBootstrapper.java @@ -30,7 +30,7 @@ import org.neo4j.logging.LogProvider; import org.neo4j.server.CommunityBootstrapper; import org.neo4j.server.NeoServer; -import org.neo4j.server.security.enterprise.auth.SecuritySettings; +import org.neo4j.server.security.enterprise.configuration.SecuritySettings; import static java.util.Arrays.asList; diff --git a/manual/config-docs/pom.xml b/manual/config-docs/pom.xml index cd89513a48999..d72528c1d070c 100644 --- a/manual/config-docs/pom.xml +++ b/manual/config-docs/pom.xml @@ -123,7 +123,7 @@ - +