public class HighLevelApplicationManager
extends java.lang.Object
Klasse, die Telegramme von den Applikations-Verbindungen entgegennimmt und entsprechend weiterleitet und verarbeitet
| Constructor and Description |
|---|
HighLevelApplicationManager(HighLevelConnectionsManagerInterface connectionsManager)
Initialisiert einen neuen HighLevelApplicationManager
|
| Modifier and Type | Method and Description |
|---|---|
long |
createNewApplication(T_A_HighLevelCommunication communication,
java.lang.String applicationTypePid,
java.lang.String applicationName)
Gibt die ID einer Applikation zurück und erstellt gegebenenfalls ein Systemobjekt
|
void |
disableSingleServingPassword(java.lang.String userName,
int passwordIndex) |
SrpVerifierAndUser |
fetchSrpVerifierAndAuthentication(java.lang.String userName,
int passwordIndex)
Holt den SRP-Überprüfungscode und die Benutzer-ID von einem Benutzer von der Konfiguration
|
ApplicationStatusUpdater |
getApplicationStatusUpdater() |
long |
getConfigurationId(java.lang.String configurationPid)
Gibt die Konfigurations-Id zu einer Pid zurück
|
void |
handleDataTelegram(T_A_HighLevelCommunication communication,
ApplicationDataTelegram applicationDataTelegram)
Behandelt ein ankommendes Daten-Telegramm
|
void |
handleReceiveSubscription(T_A_HighLevelCommunication communication,
ReceiveSubscriptionTelegram receiveSubscriptionTelegram)
Behandelt eine Anmeldung zum Empfangen von Daten
|
void |
handleReceiveUnsubscription(T_A_HighLevelCommunication communication,
ReceiveUnsubscriptionTelegram receiveUnsubscriptionTelegram)
Behandelt eine Abmeldung zum Empfangen von Daten
|
void |
handleSendSubscription(T_A_HighLevelCommunication communication,
SendSubscriptionTelegram sendSubscriptionTelegram)
Behandelt eine Anmeldung zum Senden von Daten
|
void |
handleSendUnsubscription(T_A_HighLevelCommunication communication,
SendUnsubscriptionTelegram sendUnsubscriptionTelegram)
Behandelt eine Abmeldung zum Senden von Daten
|
void |
removeApplication(T_A_HighLevelCommunication communication)
Wird nach dem Verbindungsabbruch zu einer Applikation aufgerufen
|
void |
setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection,
java.lang.String configAreaPidForApplicationObjects)
Wird aufgerufen, wenn die Konfiguration verfügbar wird.
|
void |
throttleLoginAttempt(boolean passwordWasCorrect)
Wird bei jedem Login-Versuch aufgerufen und sorgt dafür, dass bei wiederholten Brute-Force-Angriffen der Login verzögert wird.
|
public HighLevelApplicationManager(HighLevelConnectionsManagerInterface connectionsManager)
Initialisiert einen neuen HighLevelApplicationManager
connectionsManager - Connections-Managerpublic void setConfigurationAvailable(SelfClientDavConnection selfClientDavConnection, java.lang.String configAreaPidForApplicationObjects)
Wird aufgerufen, wenn die Konfiguration verfügbar wird.
selfClientDavConnection - Verbindung zur KonfigurationconfigAreaPidForApplicationObjects - public void handleSendSubscription(T_A_HighLevelCommunication communication, SendSubscriptionTelegram sendSubscriptionTelegram)
Behandelt eine Anmeldung zum Senden von Daten
communication - VerbindungsendSubscriptionTelegram - Anmeldetelegrammpublic void handleSendUnsubscription(T_A_HighLevelCommunication communication, SendUnsubscriptionTelegram sendUnsubscriptionTelegram)
Behandelt eine Abmeldung zum Senden von Daten
communication - VerbindungsendUnsubscriptionTelegram - Abmeldetelegrammpublic void handleReceiveSubscription(T_A_HighLevelCommunication communication, ReceiveSubscriptionTelegram receiveSubscriptionTelegram)
Behandelt eine Anmeldung zum Empfangen von Daten
communication - VerbindungreceiveSubscriptionTelegram - Anmeldetelegrammpublic void handleReceiveUnsubscription(T_A_HighLevelCommunication communication, ReceiveUnsubscriptionTelegram receiveUnsubscriptionTelegram)
Behandelt eine Abmeldung zum Empfangen von Daten
communication - VerbindungreceiveUnsubscriptionTelegram - Abmeldetelegrammpublic void handleDataTelegram(T_A_HighLevelCommunication communication, ApplicationDataTelegram applicationDataTelegram)
Behandelt ein ankommendes Daten-Telegramm
communication - VerbindungapplicationDataTelegram - Daten-Telegrammpublic long getConfigurationId(java.lang.String configurationPid)
Gibt die Konfigurations-Id zu einer Pid zurück
configurationPid - Pid eines Konfigurationsverantwortlichenpublic long createNewApplication(T_A_HighLevelCommunication communication, java.lang.String applicationTypePid, java.lang.String applicationName) throws ConfigurationChangeException
Gibt die ID einer Applikation zurück und erstellt gegebenenfalls ein Systemobjekt
communication - applicationTypePid - die Pid des ApplikationstypsapplicationName - der ApplikationsnameConfigurationChangeException - signalisiert Fehler bei Konfigurationsänderungenpublic void removeApplication(T_A_HighLevelCommunication communication)
Wird nach dem Verbindungsabbruch zu einer Applikation aufgerufen
communication - Verbindung, die terminiert wurdepublic ApplicationStatusUpdater getApplicationStatusUpdater()
public SrpVerifierAndUser fetchSrpVerifierAndAuthentication(java.lang.String userName, int passwordIndex) throws SrpNotSupportedException
Holt den SRP-Überprüfungscode und die Benutzer-ID von einem Benutzer von der Konfiguration
userName - Anzufragender BenutzernamepasswordIndex - Index des EinmalpasswortsUserAdministration-Implementierung. Insbesondere ist der Benutzer UserLogin.notAuthenticated() falls es den Benutzer nicht gibt, aber es wird immer ein SRP-Überprüfungscode erzeugt um eine SrpServerAuthentication.step1(String, BigInteger, BigInteger, boolean) Fake-Authentifizierung} zu ermöglichen.SrpNotSupportedException - Falls SRP nicht untersützt wirdpublic void disableSingleServingPassword(java.lang.String userName,
int passwordIndex)
public void throttleLoginAttempt(boolean passwordWasCorrect)
Wird bei jedem Login-Versuch aufgerufen und sorgt dafür, dass bei wiederholten Brute-Force-Angriffen der Login verzögert wird.
passwordWasCorrect - War das Passwort korrekt? Ausgebremst wird zwar immer, aber nur wenn das passwort falsch war, hat das eine Auswirkung auf folgende Login-Vesuche