Class Benutzerverwaltung


  • public final class Benutzerverwaltung
    extends java.lang.Object
    Verwaltet die Benutzer des Datenverteilers.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String PID_KLASSE_ADMINISTRATOR
      PID der Berechtigungsklasse mit allen Zugriffsrechten.
      static java.lang.String PID_KLASSE_BEOBACHTER
      PID der Berechtigungsklasse mit allen Zugriffsrechten.
      static java.lang.String PID_KLASSE_KEIN_ZUGRIFF
      PID der Berechtigungsklasse ohne jede Zugriffsrechte.
      static java.lang.String PID_REGION_ALLES
      PID der Zugriffsregion für alle Objekte.
      static java.lang.String PID_ROLLE_ADMINISTRATOR
      PID der Zugriffsroll mit allen Zugriffsrechten.
      static java.lang.String PID_ROLLE_BEOBACHTER
      PID der Zugriffsrolle die nur beobachten darf.
      static java.lang.String PID_ROLLE_PARAMETRIEREN
      PID der Zugriffsrolle die das Parametrieren erlaubt.
      static java.lang.String PRAEFIX_PID
      Der Standardpräfix für die PID eines neuen Benutzer.
    • Constructor Summary

      Constructors 
      Constructor Description
      Benutzerverwaltung​(de.bsvrz.sys.funclib.bitctrl.modell.ObjektFactory factory)
      Initialisierung.
    • Method Summary

      Modifier and Type Method Description
      void addBenutzerListener​(BenutzerListener l)
      Registriert einen Listener an.
      void addLoginListener​(LoginListener l)
      Registriert einen Listener an.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer aendernPasswort​(java.lang.String adminLoginname, java.lang.String adminPasswort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, java.lang.String neuesPasswort)
      Ändert das Anmeldekennwort eines Benutzer.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer anlegenBenutzer​(java.lang.String adminLoginname, java.lang.String adminPasswort, BenutzerInfo benutzerInfo, boolean adminRechte)
      Legt einen neuen Benutzer an.
      java.lang.String checkPasswort​(java.lang.String passwort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, PasswortInfo passwortInfo)
      Prüft ein neues Passwort auf seine Sicherheit.
      void deaktiviereBenutzer​(java.lang.String adminLoginname, java.lang.String adminPasswort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Deaktiviert einen Benutzer.
      void entfernenBenutzer​(java.lang.String adminLoginname, java.lang.String adminPasswort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Deaktiviert und löscht einen Benutzer.
      protected void fireAbgemeldet​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation applikation, com.bitctrl.util.Timestamp anmeldezeit)
      Benachrichtigt die angmeldeten Listener darüber, dass sich ein Benutzer abgemeldet hat.
      protected void fireAngemeldet​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation applikation, com.bitctrl.util.Timestamp anmeldezeit)
      Benachrichtigt die angmeldeten Listener über die Anmeldung eines Benutzers.
      protected void fireBenutzerAdded​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Benachrichtigt die angmeldeten Listener darüber, dass ein neuer Benutzer angelegt wurde.
      protected void fireBenutzerChanged​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse berechtigungsklasse)
      Benachrichtigt die angmeldeten Listener darüber, dass die Berechtigungsklasse eines Benutzer geändert wurde.
      protected void fireBenutzerRemoved​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Benachrichtigt die angmeldeten Listener darüber, dass ein Benutzer gelöscht wurde.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer getAngemeldetenBenutzer()
      Gibt den lokal angemeldeten Benutzer zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.attribute.AtlAngemeldeteApplikation getAnmeldungen​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation applikation)
      Gibt die Anmeldung zu einer Applikation zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.attribute.AtlAngemeldeteApplikation> getAnmeldungen​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Gibt die Liste aller aktuell gültigen Anmeldungen eines Benutzers zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation getApplikation()
      Gibt die lokale Klientapplikation zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer> getBenutzer()
      Gibt eine Liste aller Benutzer im System zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer> getBenutzer​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse)
      Gibt eine Liste aller Benutzer zurück, die einer bestimmten Berechtigungsklasse angehören.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer getBenutzer​(java.lang.String loginname)
      Prüft ob ein bestimmter Benutzer existiert und gibt ihn zurück.
      java.util.Map<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer,​de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse> getBenutzerUndKlassen()
      Gibt eine Zusammenstellung aller Benutzer im System und deren Benutzerklasse zurück.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse> getBerechtigungsklasse()
      Gibt eine Liste aller Berechtigungsklassen im System zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse getBerechtigungsklasse​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Bestimmt die aktuelle Berechtigungsklasse des Benutzers.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse getBerechtigungsklasse​(java.lang.String pid)
      Sucht eine bestimmte Berechtigungsklasse.
      java.lang.String getCachedPasswort​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer b)
      Liefert das gecachte Passwort eines Benutzers.
      static Benutzerverwaltung getInstanz​(de.bsvrz.sys.funclib.bitctrl.modell.ObjektFactory factory)
      Liefert immer wieder dieselbe Benutzerverwaltung für dieselbe ObjektFactory.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRegion> getRegion()
      Gibt eine Liste aller Zugriffsregionen im System zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRegion getRegion​(java.lang.String pid)
      Sucht eine bestimmte Zugriffsregion.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRolle> getRolle()
      Gibt eine Liste aller Zugriffsrollen im System zurück.
      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRolle getRolle​(java.lang.String pid)
      Sucht eine bestimmte Zugriffsrolle.
      void invalidatePasswordCache​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer b)
      Löscht das gecachte Passwort für den Benutzer
      boolean isAdmin​(java.lang.String loginname)
      Prüft, ob ein Bennutzer der Berechtigungsklasse PID_KLASSE_ADMINISTRATOR zugeordnet ist.
      boolean isBerechtigungsklasse​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse)
      Prüft ob ein bestimmter Benutzer zu einer bestimmten Berechtigungsklasse gehört.
      boolean isDAVAdmin​(java.lang.String loginname, java.lang.String passwort)
      Prüft, ob ein Bennutzer Administratorrechte am DAV besitzt.
      boolean isOnline​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
      Flag ob ein bestimmter Benutzer im Moment an irgendeiner Applikation angemeldet ist.
      boolean isRolleUndRegion​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRolle rolle, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRegion region)
      Prüft ob ein bestimmter Benutzer eine bestimmte Rolle in einer Region hat.
      void removeBenutzerListener​(BenutzerListener l)
      Meldet einen Listener wieder ab.
      void removeLoginListener​(LoginListener l)
      Meldet einen Listener wieder ab.
      void setBerechtigungsklasse​(java.lang.String adminLoginname, java.lang.String adminPasswort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse)
      Ändert die Berechtigungsklasse eines Benutzer.
      void setBerechtigungsklasse​(java.lang.String adminLoginname, java.lang.String adminPasswort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse, java.lang.String urlasser, java.lang.String ursache, java.lang.String veranlasser)
      Ändert die Berechtigungsklasse eines Benutzer.
      void setEinmalPassworte​(java.lang.String adminLoginname, java.lang.String adminPasswort, de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer, java.util.List<java.lang.String> passworte)
      Ändert die Berechtigungsklasse eines Benutzer.
      java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer> sucheBenutzer​(java.lang.String nachname, java.lang.String vorname, java.lang.String zweiterVorname, java.lang.String organisation, java.lang.String email)
      Sucht alle Benutzer auf die bestimmte Kriterien zutreffen.
      void updatePasswordCache​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer b, java.lang.String password)
      Aktualisiert den Passwort-Cache des Benutzers
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PRAEFIX_PID

        public static final java.lang.String PRAEFIX_PID
        Der Standardpräfix für die PID eines neuen Benutzer.
        See Also:
        Constant Field Values
      • PID_KLASSE_KEIN_ZUGRIFF

        public static final java.lang.String PID_KLASSE_KEIN_ZUGRIFF
        PID der Berechtigungsklasse ohne jede Zugriffsrechte.
        See Also:
        Constant Field Values
      • PID_KLASSE_ADMINISTRATOR

        public static final java.lang.String PID_KLASSE_ADMINISTRATOR
        PID der Berechtigungsklasse mit allen Zugriffsrechten.
        See Also:
        Constant Field Values
      • PID_KLASSE_BEOBACHTER

        public static final java.lang.String PID_KLASSE_BEOBACHTER
        PID der Berechtigungsklasse mit allen Zugriffsrechten.
        See Also:
        Constant Field Values
      • PID_REGION_ALLES

        public static final java.lang.String PID_REGION_ALLES
        PID der Zugriffsregion für alle Objekte.
        See Also:
        Constant Field Values
      • PID_ROLLE_ADMINISTRATOR

        public static final java.lang.String PID_ROLLE_ADMINISTRATOR
        PID der Zugriffsroll mit allen Zugriffsrechten.
        See Also:
        Constant Field Values
      • PID_ROLLE_PARAMETRIEREN

        public static final java.lang.String PID_ROLLE_PARAMETRIEREN
        PID der Zugriffsrolle die das Parametrieren erlaubt.
        See Also:
        Constant Field Values
      • PID_ROLLE_BEOBACHTER

        public static final java.lang.String PID_ROLLE_BEOBACHTER
        PID der Zugriffsrolle die nur beobachten darf.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Benutzerverwaltung

        public Benutzerverwaltung​(de.bsvrz.sys.funclib.bitctrl.modell.ObjektFactory factory)
        Initialisierung.
        Parameters:
        factory - die zum erzeugen von Systemobjekten verwendete ObjektFactory
    • Method Detail

      • getInstanz

        public static final Benutzerverwaltung getInstanz​(de.bsvrz.sys.funclib.bitctrl.modell.ObjektFactory factory)
        Liefert immer wieder dieselbe Benutzerverwaltung für dieselbe ObjektFactory.
        Parameters:
        factory - TODO
        Returns:
        Instanz dieser Klasse
      • addLoginListener

        public void addLoginListener​(LoginListener l)
        Registriert einen Listener an.
        Parameters:
        l - ein Listener.
      • removeLoginListener

        public void removeLoginListener​(LoginListener l)
        Meldet einen Listener wieder ab.
        Parameters:
        l - ein Listener.
      • fireAngemeldet

        protected void fireAngemeldet​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation applikation,
                                      com.bitctrl.util.Timestamp anmeldezeit)
        Benachrichtigt die angmeldeten Listener über die Anmeldung eines Benutzers.
        Parameters:
        benutzer - der betroffene Benutzer.
        applikation - die betroffene Applikation.
        anmeldezeit - der Anmeldezeitpunkt.
      • fireAbgemeldet

        protected void fireAbgemeldet​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation applikation,
                                      com.bitctrl.util.Timestamp anmeldezeit)
        Benachrichtigt die angmeldeten Listener darüber, dass sich ein Benutzer abgemeldet hat.
        Parameters:
        benutzer - der betroffene Benutzer.
        applikation - die betroffene Applikation.
        anmeldezeit - der Anmeldezeitpunkt.
      • addBenutzerListener

        public void addBenutzerListener​(BenutzerListener l)
        Registriert einen Listener an.
        Parameters:
        l - ein Listener.
      • removeBenutzerListener

        public void removeBenutzerListener​(BenutzerListener l)
        Meldet einen Listener wieder ab.
        Parameters:
        l - ein Listener.
      • fireBenutzerAdded

        protected void fireBenutzerAdded​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
        Benachrichtigt die angmeldeten Listener darüber, dass ein neuer Benutzer angelegt wurde.
        Parameters:
        benutzer - der betroffene Benutzer.
      • fireBenutzerRemoved

        protected void fireBenutzerRemoved​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
        Benachrichtigt die angmeldeten Listener darüber, dass ein Benutzer gelöscht wurde.
        Parameters:
        benutzer - der betroffene Benutzer.
      • fireBenutzerChanged

        protected void fireBenutzerChanged​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                           de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse berechtigungsklasse)
        Benachrichtigt die angmeldeten Listener darüber, dass die Berechtigungsklasse eines Benutzer geändert wurde.
        Parameters:
        benutzer - der betroffene Benutzer.
        berechtigungsklasse - die Berechtigungsklasse des Benutzers.
      • getApplikation

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation getApplikation()
        Gibt die lokale Klientapplikation zurück.
        Returns:
        die lokale Applikation.
      • getAnmeldungen

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.attribute.AtlAngemeldeteApplikation> getAnmeldungen​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
        Gibt die Liste aller aktuell gültigen Anmeldungen eines Benutzers zurück.
        Parameters:
        benutzer - ein Benutzer.
        Returns:
        die Liste der Anmeldungen des Benutzers.
      • getAnmeldungen

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.attribute.AtlAngemeldeteApplikation getAnmeldungen​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Applikation applikation)
        Gibt die Anmeldung zu einer Applikation zurück. Der Rückgabewert kann null sein, wenn es keine Anmeldung mehr zu dieser Applikation gibt, dass heißt sie wurde beendet.
        Parameters:
        applikation - eine Applikation.
        Returns:
        die aktuelle Anmeldung der Applikation.
      • getAngemeldetenBenutzer

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer getAngemeldetenBenutzer()
        Gibt den lokal angemeldeten Benutzer zurück.
        Returns:
        der angemeldete Benutzer.
      • getBenutzer

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer> getBenutzer()
        Gibt eine Liste aller Benutzer im System zurück.
        Returns:
        die Benutzerliste.
      • getBenutzer

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer> getBenutzer​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse)
        Gibt eine Liste aller Benutzer zurück, die einer bestimmten Berechtigungsklasse angehören.
        Parameters:
        klasse - eine Berechtigungsklase.
        Returns:
        die Benutzerliste.
      • getBerechtigungsklasse

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse> getBerechtigungsklasse()
        Gibt eine Liste aller Berechtigungsklassen im System zurück.
        Returns:
        die Liste der Berechtigungsklassen.
      • getBenutzerUndKlassen

        public java.util.Map<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer,​de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse> getBenutzerUndKlassen()
        Gibt eine Zusammenstellung aller Benutzer im System und deren Benutzerklasse zurück.
        Returns:
        die aktuelle Rechteverteilung.
      • isDAVAdmin

        public boolean isDAVAdmin​(java.lang.String loginname,
                                  java.lang.String passwort)
        Prüft, ob ein Bennutzer Administratorrechte am DAV besitzt. Administratoren dürfen u. a. Benutzer löschen, Passworte anderer Benuzter ändern und Autorisierungspassworte für andere Benuzter anlegen.
        Da sich der Zustand des Admin-Flags derzeit nicht direkt über das DAV-API ermitteln läßt, hilft folgender Trick: Man versucht den Benuzter mit sich selbst zum Admin zu machen, klappt dies, so ist er bereits Admin gewesen, ansonsten ist er kein Admin.
        Parameters:
        loginname - ein Nutzername
        passwort - das Passwort des Benutzers
        Returns:
        true, wenn der Bennutzer Administratorrechte besitzt.
      • isBerechtigungsklasse

        public boolean isBerechtigungsklasse​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                             de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse)
        Prüft ob ein bestimmter Benutzer zu einer bestimmten Berechtigungsklasse gehört.
        Parameters:
        benutzer - ein Benutzer.
        klasse - eine Berechtuigungsklasse.
        Returns:
        true, wenn der Benutzer zu der Berechtigungsklasse gehört.
      • getBerechtigungsklasse

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse getBerechtigungsklasse​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
        Bestimmt die aktuelle Berechtigungsklasse des Benutzers.
        Parameters:
        benutzer - ein Benutzer.
        Returns:
        die Berechtigungsklasse des Benutzers.
      • isRolleUndRegion

        public boolean isRolleUndRegion​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                        de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRolle rolle,
                                        de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRegion region)
        Prüft ob ein bestimmter Benutzer eine bestimmte Rolle in einer Region hat.
        Parameters:
        benutzer - ein Benutzer.
        rolle - eine Zugriffsrolle.
        region - eine Zugriffsregion. Wenn null, wird die Region ignoriert und nur die Rolle geprüpft.
        Returns:
        true, wenn der Benutzer in der Region die angegebene Rolle hat.
      • getBerechtigungsklasse

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse getBerechtigungsklasse​(java.lang.String pid)
        Sucht eine bestimmte Berechtigungsklasse.
        Parameters:
        pid - die PID einer Berechtigungsklasse.
        Returns:
        die Berechtigungsklasse oder null, wenn zu der PID keine existiert.
      • getRolle

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRolle getRolle​(java.lang.String pid)
        Sucht eine bestimmte Zugriffsrolle.
        Parameters:
        pid - die PID einer Zugriffsrolle.
        Returns:
        die Zugriffsrolle oder null, wenn zu der PID keine existiert.
      • getRolle

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRolle> getRolle()
        Gibt eine Liste aller Zugriffsrollen im System zurück.
        Returns:
        die Liste der Zugriffsrollen.
      • getRegion

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRegion getRegion​(java.lang.String pid)
        Sucht eine bestimmte Zugriffsregion.
        Parameters:
        pid - die PID einer Zugriffsregion.
        Returns:
        die Zugriffsregion oder null, wenn zu der PID keine existiert.
      • getRegion

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.ZugriffsRegion> getRegion()
        Gibt eine Liste aller Zugriffsregionen im System zurück.
        Returns:
        die Liste der Zugriffsregionen.
      • getBenutzer

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer getBenutzer​(java.lang.String loginname)
        Prüft ob ein bestimmter Benutzer existiert und gibt ihn zurück.
        Parameters:
        loginname - der eindeutige Benutzername (Loginname).
        Returns:
        der Benutzer oder null, wenn kein Benutzer mit dem angegebenen Namen existiert.
      • sucheBenutzer

        public java.util.List<de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer> sucheBenutzer​(java.lang.String nachname,
                                                                                                                     java.lang.String vorname,
                                                                                                                     java.lang.String zweiterVorname,
                                                                                                                     java.lang.String organisation,
                                                                                                                     java.lang.String email)
        Sucht alle Benutzer auf die bestimmte Kriterien zutreffen. Die Suchkriterien dürfen auch null sein, dies wird als Wildcard "alle" gedeutet. Die einzelnen Kriterien werden "oder"-verknüpft.
        Parameters:
        nachname - der Nachname der gesuchten Benutzer.
        vorname - der Vorname der gesuchten Benutzer.
        zweiterVorname - der zweite Vorname der gesuchten Benutzer.
        organisation - die Organisation der gesuchten Benutzer.
        email - die E-Mail-Adresse der gesuchten Benutzer.
        Returns:
        die Liste der gefundenen Benutzer, niemals null.
      • anlegenBenutzer

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer anlegenBenutzer​(java.lang.String adminLoginname,
                                                                                                       java.lang.String adminPasswort,
                                                                                                       BenutzerInfo benutzerInfo,
                                                                                                       boolean adminRechte)
                                                                                                throws KeineRechteException,
                                                                                                       BenutzerChangeException
        Legt einen neuen Benutzer an. Das Anlegen erfolgt unabhängig von Berechtigungsklassen nur unter Prüfung der entsprechenden Rechte am DAV.
        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt.
        benutzerInfo - die Eigenschaften des neuen Benutzers.
        adminRechte - true, wenn der neue Benutzer die Rechte eines Administrators besitzen soll; false, wenn der Benutzer keine speziellen Rechte besitzen soll.
        Returns:
        der neue Benutzer
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn beim Anlegen des Benutzers ein Fehler eintrat.
      • entfernenBenutzer

        public void entfernenBenutzer​(java.lang.String adminLoginname,
                                      java.lang.String adminPasswort,
                                      de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
                               throws KeineRechteException,
                                      BenutzerChangeException
        Deaktiviert und löscht einen Benutzer. Das entsprechende Systemobjekt wird invalidiert.
        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt. Wird derzeit ignoriert, da es nicht benötigt wird!
        benutzer - der zu löschende Benutzers.
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn beim Löschen des Benutzers ein Fehler eintrat.
      • setBerechtigungsklasse

        public void setBerechtigungsklasse​(java.lang.String adminLoginname,
                                           java.lang.String adminPasswort,
                                           de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                           de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse,
                                           java.lang.String urlasser,
                                           java.lang.String ursache,
                                           java.lang.String veranlasser)
                                    throws KeineRechteException,
                                           BenutzerChangeException
        Ändert die Berechtigungsklasse eines Benutzer.
        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt.
        benutzer - der zu deaktivierende Benutzers.
        klasse - die zu setzende Berechtigungsklasse.
        urlasser - der Nutzername des Urlassers.
        ursache - Ursache zur Urlasserinformation
        veranlasser - Veranlasser zur Urlasserinformation
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn beim Ändern der Benutzerrechte ein Fehler eintrat.
      • setEinmalPassworte

        public void setEinmalPassworte​(java.lang.String adminLoginname,
                                       java.lang.String adminPasswort,
                                       de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                       java.util.List<java.lang.String> passworte)
                                throws KeineRechteException,
                                       BenutzerChangeException
        Ändert die Berechtigungsklasse eines Benutzer.
        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt.
        benutzer - der zu deaktivierende Benutzers.
        passworte - Liste der Einmalpassworte
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn beim Ändern der Benutzerrechte ein Fehler eintrat.
      • isOnline

        public boolean isOnline​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
        Flag ob ein bestimmter Benutzer im Moment an irgendeiner Applikation angemeldet ist.
        Parameters:
        benutzer - ein Benutzer.
        Returns:
        true, wenn der Benutzer online ist.
      • checkPasswort

        public java.lang.String checkPasswort​(java.lang.String passwort,
                                              de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                              PasswortInfo passwortInfo)
        Prüft ein neues Passwort auf seine Sicherheit. Die Funktion wertet die für die Vergabe von Passworten definierten Parameter aus und prüft, ob das Passwort diesen Kriterien entspricht.
        Parameters:
        passwort - das Passwort.
        benutzer - der Nutzer, für den das Passwort verwendet werden soll.
        passwortInfo - die Sicherheitskriterien.
        Returns:
        null, wenn das Passwort sicher ist, sonst eine Fehlerbeschreibung. TODO Prüfen ob alle Sicherheitsaspekte geprüft werden.
      • getCachedPasswort

        public java.lang.String getCachedPasswort​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer b)
        Liefert das gecachte Passwort eines Benutzers.
        Parameters:
        b - der Benutzer
        Returns:
        das gecachte Passwort oder null, wenn es keines gibt
      • invalidatePasswordCache

        public void invalidatePasswordCache​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer b)
        Löscht das gecachte Passwort für den Benutzer
        Parameters:
        b - der betroffene Benutzer
      • updatePasswordCache

        public void updatePasswordCache​(de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer b,
                                        java.lang.String password)
        Aktualisiert den Passwort-Cache des Benutzers
        Parameters:
        b - der betroffene Benutzer
        password - das neue Passwort
      • aendernPasswort

        public de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer aendernPasswort​(java.lang.String adminLoginname,
                                                                                                       java.lang.String adminPasswort,
                                                                                                       de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                                                                                       java.lang.String neuesPasswort)
                                                                                                throws KeineRechteException,
                                                                                                       BenutzerChangeException
        Ändert das Anmeldekennwort eines Benutzer. Das Ändern erfolgt unabhängig von Berechtigungsklassen nur unter Prüfung der entsprechenden Rechte am DAV.
        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt.
        benutzer - der Benutzer, dessen Passwort geändert werden soll.
        neuesPasswort - das neue Passwort des Benutzer.
        Returns:
        der neue Benutzer
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn beim Anlegen des Benutzers ein Fehler eintrat.
      • isAdmin

        public boolean isAdmin​(java.lang.String loginname)
        Prüft, ob ein Bennutzer der Berechtigungsklasse PID_KLASSE_ADMINISTRATOR zugeordnet ist.
        Parameters:
        loginname - ein beliebiger Nutzername
        Returns:
        true, wenn der Bennutzer Administratoraufgaben ausführen darf.
      • deaktiviereBenutzer

        public void deaktiviereBenutzer​(java.lang.String adminLoginname,
                                        java.lang.String adminPasswort,
                                        de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer)
                                 throws KeineRechteException,
                                        BenutzerChangeException
        Deaktiviert einen Benutzer. Seine Berechtigungsklasse wird auf "Kein Zugriff" gesetzt.

        TODO Passwort überprüfen.

        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt. Wird derzeit ignoriert, da es nicht benötigt wird!
        benutzer - der zu deaktivierende Benutzers.
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn es beim deaktivieren einen Fehler gab.
      • setBerechtigungsklasse

        public void setBerechtigungsklasse​(java.lang.String adminLoginname,
                                           java.lang.String adminPasswort,
                                           de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Benutzer benutzer,
                                           de.bsvrz.sys.funclib.bitctrl.modell.systemmodellglobal.objekte.Berechtigungsklasse klasse)
                                    throws KeineRechteException,
                                           BenutzerChangeException
        Ändert die Berechtigungsklasse eines Benutzer.
        Parameters:
        adminLoginname - der Name des Administrators der die Aktion ausführt.
        adminPasswort - das Anmeldekennwort des Administrators der die Aktion ausführt.
        benutzer - der zu deaktivierende Benutzers.
        klasse - die zu setzende Berechtigungsklasse.
        Throws:
        KeineRechteException - wenn die Benutzerrechte für diese Aktion nicht ausreichen.
        BenutzerChangeException - wenn beim Ändern der Benutzerrechte ein Fehler eintrat.