
de.bund.bva.isyfact.sicherheit.impl.SicherheitImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of isy-sicherheit Show documentation
Show all versions of isy-sicherheit Show documentation
Komponente für die Autorisierung von Benutzern in IsyFact-Anwendungen.
/*
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
* The Federal Office of Administration (Bundesverwaltungsamt, BVA)
* licenses this file to you under the Apache License, Version 2.0 (the
* License). You may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package de.bund.bva.isyfact.sicherheit.impl;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import de.bund.bva.isyfact.logging.IsyLogger;
import de.bund.bva.isyfact.logging.IsyLoggerFactory;
import de.bund.bva.isyfact.logging.LogKategorie;
import de.bund.bva.isyfact.aufrufkontext.AufrufKontext;
import de.bund.bva.isyfact.aufrufkontext.AufrufKontextFactory;
import de.bund.bva.isyfact.aufrufkontext.AufrufKontextVerwalter;
import de.bund.bva.isyfact.sicherheit.Berechtigungsmanager;
import de.bund.bva.isyfact.sicherheit.Rolle;
import de.bund.bva.isyfact.sicherheit.Sicherheit;
import de.bund.bva.isyfact.sicherheit.common.konstanten.EreignisSchluessel;
import de.bund.bva.isyfact.sicherheit.common.konstanten.SicherheitFehlerSchluessel;
import de.bund.bva.isyfact.sicherheit.config.IsySicherheitConfigurationProperties;
import de.bund.bva.isyfact.sicherheit.accessmgr.AccessManager;
import de.bund.bva.isyfact.sicherheit.accessmgr.AuthentifzierungErgebnis;
import de.bund.bva.isyfact.sicherheit.common.exception.AuthentifizierungTechnicalException;
import de.bund.bva.isyfact.sicherheit.common.exception.InitialisierungsException;
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.CacheConfiguration;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.expiry.Duration;
import org.ehcache.expiry.Expirations;
import org.springframework.beans.factory.InitializingBean;
/**
* Diese Klasse dient als Implementierung der Komponente Sicherheit und kann als Bean in anderen Anwendungen
* und Komponenten verwendet werden. Es wird das Interface Sicherheit implementiert, über welches
* Berechtigungsmanager instanziiert werden können.
*
* @param Typ des Aufrufkontextes
* @param Typ des Ergebnisses der Authentifizierung
*
* @deprecated since IsyFact 3.0.0 in favor of the isy-security module.
*/
@Deprecated
public class SicherheitImpl
implements Sicherheit, InitializingBean {
/**
* Logger der Klasse.
*/
private static final IsyLogger LOG = IsyLoggerFactory.getLogger(SicherheitImpl.class);
private static final String CACHE_ALIAS = "de.bund.bva.isyfact.sicherheit.authentifizierung";
/** Pfad zum Rollen-Rechte-Mapping. */
private final String rollenRechteDateiPfad;
/** Zugriff auf den AufrufKontextVerwalter. */
private final AufrufKontextVerwalter aufrufKontextVerwalter;
/** Referenz auf den AccessManager für den Zugriff auf Rollen/Rechte der Benutzer. */
private final AccessManager accessManager;
/**
* Cache für Authentifizierungsinformationen, so dass der AccessManager entlastet
* wird.
*/
private final Cache
© 2015 - 2025 Weber Informatics LLC | Privacy Policy