LocalServiceBus (LSB)

Authentifizierung über den LSB

Der LocalServiceBus (LSB) ist ein Programm, das kostenlos zur Verfügung gestellt wird. Es kann auf einer Windows- oder Linux-Maschine installiert werden und ermöglicht es lokale Benutzer zu authentifizieren und somit den Zugang zu OXOMI zu ermöglichen. Hierbei kann zum Beispiel ein LDAP-Server (ActiveDirectory) angesteuert werden, um die Benutzer zu prüfen.

Im Folgenden wird die Installation beschrieben, um den LSB als Login-Adapter für ein bestehendes ActiveDirectory zu verwenden:

Schritt 1 Gehen Sie zu http://sds.scireum.net und laden Sie die SDS.class herunter.
Schritt 2 Erstellen Sie einen leeren Ziel-Ordner (zum Beispiel "oxomi"). Kopieren Sie das Tool hier hin.
Schritt 3

Öffnen Sie eine Kommandozeile, navigieren Sie in das neu erstellte Verzeichnis und führen Sie folgenden Befehl aus: java SDS -server sds.scireum.net pull oxomi-lsb
(Der Download der Software kann etwas dauern.)

WICHTIG: Führen Sie diesen Befehl nur in dem neu-erstellten Verzeichnis aus! Alle anderen Dateien in dem Verzeichnis werden gelöscht.

Schritt 4

Erstellen Sie die Datei instance.conf in dem Verzeichnis und füllen Sie diese mit folgendem Inhalt.

Passen Sie den Beispielcode entsprechend der Kommentare an.

# Gibt den Port an, auf dem der Web-Server läuft.
# Normalerweise wird hierfür der Port 80 verwendet.
# Dieser ist aber oft belegt, weshalb hier ein anderer
# definiert werden kann.
http.port = 8080
security.scopes.default {
    # Aktiviert die Authentifizierung per LDAP
    # (ActiveDirectory)
    manager = "ldap"
    # Geben Sie hier die IP Ihres LDAP Servers (bzw.
    # Domain-Controllers) an
    server = "ldap://192.168.0.1"
    # Das folgende wird an den eingegebenen Benutzernamen
    # angehangen, wenn der Benutzer authentifiziert wird.
    # Oft melden Sich Benutzer nur mit Ihrem Kürzel an,
    # werden aber mit samt der Domäne abgespeichert.
    authSuffix = "@meine-domain.local"
    # Das folgende wird an den eingegebenen Benutzernamen
    # angehangen, wenn im Verzeichnis gesucht wird. Oft
    # melden Sich Benutzer nur mit Ihrem Kürzel an,
    # werden aber mit samt der Domäne abgespeichert.
    searchSuffix = "@meine-domain.local"
    # Gibt an, wo im Verzeichnis nach Benutzern gesucht
    # werden soll.
    # Heisst Ihre Domäne "meine-domain.local", so ist der
    # Suchpfad "dc=meine-domain,dc=local"
    searchBase = "dc=meine-domain,dc=local"
}
# Enthält die Einstellungen welches OXOMI-Portal geöffnet
# werden soll.
oxomi {
    # Geben Sie hier die Portal-Id an
    portalId = "000"
    # Geben Sie hier die Portalseite, die nach Login angezeigt
    # werden soll, an. z.B. "/" , "/search" , "/switch"
    startUri = "/"
    # Geben Sie hier das Shared-Secret an. Die erhalten Sie
    # von uns.
    sharedSecret = "geheim"
    # Geben Sie hier eine URL eines Bildes an, welches über
    # der Login-Box angezeigt werden soll.
    imgUrl = "http://www.meine-homepage-de/logo.jpg"
    # Sollen Rollen an OXOMI übermittelt werden, so geben
    # Sie diese hier an. Die "blockAll" Rolle führt dazu,
    # dass standardmäßig keine Rollen übermittelt werden.
    rolesFilter = [ "blockAll" ]
    # Sollen Rollen an OXOMI nur übermittelt werden, wenn
    # sie einem Regulären Ausdruck entsprechen, kann der
    # Ausdruck hier angegeben werden.
    rolesFilterExpressions = [ ]
}

Schritt 5

Starten Sie die Anwendung, indem Sie java IPL in der Kommandozeile im "OXOMI" Verzeichnis eingeben. Hierfür muss auf dem Server mindestens Java 1.8.0 installiert sein. Dies erhalten Sie kostenlos von http://java.oracle.com.

Nachdem die Anwendung gestartet wurde, können Sie http://localhost:8080/oxomi aufrufen, um den Login zu testen. Wenn Sie einen anderen Port als 8080 verwendet haben, müssen Sie die URL anpassen. Wenn Sie den Port 80 verwendet haben, können Sie die Portangabe mit samt dem Doppelpunkt weglassen.

Schritt 6

Installieren Sie die Anwendung als Windows Service (Hinweis: Das Installationsverzeichnis muss evtl. angepasst werden):

prunsrv-x64 //IS//OXOMI --DisplayName="OXOMI Login" --Install=c:\oxomi\prunsrv-x64.exe --Jvm=auto --StartMode=jvm --StopMode=jvm --StartClass=IPL --StartParams=start;9191 --StopClass=IPL --StopParams=stop;9191 --JvmMx=128m

Mit dem nachfolgenden Befehl können weitere Einstellungen vorgenommen werden.

prunmgr.exe //ES/OXOMI

Single-Sign-On (SSO) über NTLM

OXOMI LSB kann Benutzer in Ihrem Firmennetzwerk automatisch anhand ihres Windows-Accounts identifizieren. So müssen diese kein Passwort beim Zugang zu OXOMI eingeben, sondern werden automatisch durch ihren Windows-Account authentifiziert.

Um dieses Feature zu aktivieren, ändern Sie in Ihrer instance.conf-Datei den Wert von security.scopes.default.manager zu ntlm.

security.scopes.default {
    # Aktiviert die Authentifizierung per NTLM
    manager = "ntlm"
    # LDAP wird nicht mehr benötigt
    #server = "ldap://192.168.0.1"
}

SSO schlägt fehl

Das kann mehrere Gründe haben:

  • Sie sind nicht auf einem Windows-Rechner angemeldet
  • Sie sind als Gast auf diesem Windows-Rechner angemeldet
  • Ihr Browser ist nicht Internet Explorer oder Google Chrome
  • Ihr Browser ist nicht korrekt konfiguriert

Um Ihren Browser richtig zu konfigurien, führen Sie die folgenden Schritte aus:

Öffnen Sie die Internetoptionen im Internet Explorer (auch wenn Sie Google Chrome benutzen). Internetoption öffnen
Öffnen Sie den Tab Sicherheit und dort die Zone Lokales Intranet. Dort klicken Sie auf Sites. Zone "Lokales Intranet" auswählen
Klicken Sie in dem sich öffnenden Dialogfenster auf Erweitert. Button "Erweitert"
Fügen Sie hier die URL ihres OXOMI LSB Servers zur Liste hinzu. Button "Erweitert"
Klicken Sie auf Schließen, dann auf OK.
Klicken Sie auf Stufe anpassen. Button "Stufe anpassen"
Stellen Sie sicher, dass unter BenutzerauthentifizierungAnmeldung das Element Automatisches Anmelden nur in der Intranet-Zone selektiert ist. Option "Automatisches Anmelden nur in der Intranet-Zone"