sirius.web.security.UserManagerFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sirius-web Show documentation
Show all versions of sirius-web Show documentation
Provides a modern and scalable web server as SIRIUS module
/*
* Made with all the love in the world
* by scireum in Remshalden, Germany
*
* Copyright by scireum GmbH
* http://www.scireum.de - [email protected]
*/
package sirius.web.security;
import sirius.kernel.di.std.Register;
import sirius.kernel.settings.Extension;
import javax.annotation.Nonnull;
/**
* Creates a new {@link UserManager} for a given {@link ScopeInfo}.
*
* Implementations of this class must wear an {@link sirius.kernel.di.std.Register} annotation with a {@link
* Register#name()}. This name is referenced in the system config (security.scope.[scopeType].manager to
* select which manager to use.
*/
public interface UserManagerFactory {
/**
* Creates a new user manager for the given scope and config settings (the block in
* security.scope.[scopeType]).
*
* @param scope the scope for which the user manager is to be created
* @param config the config section from the system config
* @return the newly created user manager
*/
@Nonnull
UserManager createManager(@Nonnull ScopeInfo scope, @Nonnull Extension config);
}