Die Benutzerverwaltung fasst Anwender mit demselben Anforderungsprofil zu Benutzergruppen zusammen, wie zum Beispiel "Administratoren", "Interne Benutzer" oder "Externe Benutzer":
Mit der Benutzerverwaltung erhöhen Sie auch die Sicherheit Ihres Host-Zugangs, da sich Ihre Anwender bereits am vorgeschalteten LogWeb/Ajax Server identifizieren müssen. Dieser arbeitet jetzt nicht nur als "Application Firewall" vor Ihren Host Systemen, sondern filtert auch unberechtigte Login-Versuche aus.
In der Auslieferung ist standardmäßig eine "leere Benutzerverwaltung" konfiguriert, die Sie für Ihre ersten Tests sofort verwenden können:
Für den produktiven Einsatz haben Sie folgende Alternativen:
Bitte beachten Sie dabei:
Wie auch immer Sie sich entscheiden: Wir beraten Sie gerne und unterstützen Sie bei eventuell notwendigen Anpassungen!
Die Auslieferung enthält im Verzeichnis
userdb
Beispiele zur Definition von Benutzer- und Gruppendateien, die Sie durch Angabe der entsprechenden Grundeinstellungen aktivieren:
UserDatabase = file UserProfiles = userdb/empty/users GroupProfiles = userdb/empty/groups
UserDatabase = logweb UserProfiles = //logweb73/server/config/user GroupProfiles = userdb/logweb/groups
UserDatabase = ldap # UserProfiles wird nicht verwendet GroupProfiles = userdb/ldap/groups
UserDatabase = file UserProfiles = userdb/extern/users GroupProfiles = userdb/extern/groups
Die gemeinsamen Vorlagen-Verzeichnisse für diese Beispiele liegen auf userdb/data:
UserData = userdb/data/userdata GroupData = userdb/data/groupdata
Bitte beachten Sie:
Die Grundeinstellungen zur Benutzerverwaltung geben Sie in der zentralen Konfigurations-Datei WEB-INF/ajax.ini an:
Parameter | Bedeutung |
---|---|
UserDatabase |
Bestimmt das Format der Benutzerverwaltung:
|
UserProfiles |
Verzeichnis-Pfad zu den
Benutzer-Profilen USER.ini
|
GroupProfiles |
Verzeichnis-Pfad zu den
Gruppen-Profilen GROUP.ini
|
Bitte beachten Sie, dass Änderungen an dieser Datei erst nach einem Neustart der Web-Anwendung wirksam werden. Die Profil-Dateien für Benutzer und Gruppen können Sie dagegen auch "im laufenden Betrieb" anlegen, ändern oder löschen.
Auch wenn Sie keine Benutzerverwaltung benötigen, die LOG-WEB Benutzerverwaltung verwenden oder eine andere externe Benutzerverwaltung einbinden wollen, müssen Sie die Pfade zu den Benutzer- und Gruppen-Profilen angeben, weil dort dann ersatzweise Pseudo-Dateien zur genaueren Steuerung gesucht werden.
Bitte beachten Sie bei der Angabe der Verzeichnis-Pfade:
Einige wenige Attribute dürfen Sie nur in Benutzerdateien oder nur in Gruppendateien angegeben. Die meisten Eigenschaften jedoch können Sie sowohl für einzelne Anwender als auch für ganze Benutzergruppen vergeben:
Eigenschaft | Bedeutung |
---|---|
_WriteUser | Gibt an, ob der Benutzer schreibenden Zugriff auf sein Benutzer-Verzeichnis hat.
|
_WriteGroup | Gibt an, ob der Benutzer schreibenden Zugriff auf sein Gruppen-Verzeichnis hat.
|
ChangePassword | Gibt an, ob der Benutzer sein Passwort anlegen, ändern und löschen darf.
|
_ChangeGroup | Gibt an, ob der Benutzer seine Gruppenzugehörigkeit beim Sitzungs-Start
ändern darf.
|
Für spezielle Fälle können Sie noch folgende Attribute vergeben:
Eigenschaft | Bedeutung |
---|---|
_CookieMaxAge |
Legt die Gültigkeitsdauer des login-Cookies fest
(Angabe in Sekunden).
|
_UseSessionID | Legt fest, welche Kennung für lesende Datei-Zugriffe
an den Server gesendet wird.
|
_AJAX_XXX | Hier können Sie bei Bedarf weitere "freie" Parameter angeben, die beim Starten an die Sitzung übergeben werden und von Ihren eigenen Makros ausgewertet werden können. |
Bitte beachten Sie:
In Sonderfällen kann es sein, dass Sie zwar Mainframe-Verbindungen (3270, 5250 und 9750) nutzen, dabei aber nicht die LOG-WEB Benutzerverwaltung mitverwenden wollen.
In diesen Fällen können Sie zusätzlich zu den üblichen Attributen noch spezielle Parameter an den LOG-WEB Server übergeben:
Eigenschaft | Bedeutung |
---|---|
StationName |
Stations-Name (LU-Name) des Dialog-Terminals.
|
PrinterName |
Stations-Name (LU-Name) des Druckers.
|
LOGWEB_XXX |
Übergibt den beliebigen Parameter XXX und dessen Wert zur Auswertung an den LOG-WEB Server.
|
Mit dem Parameter UserProfiles der Grundeinstellungen legen Sie den Pfad zu Ihren Benutzer-Dateien fest. Für jeden zugelassenen Benutzer legen Sie in diesem Verzeichnis eine Textdatei unter seinem Benutzernamen an, beispielsweise meier.ini.
Bitte beachten Sie:
Spezielle Einträge in Benutzer-Dateien:
Eigenschaft | Bedeutung |
---|---|
Group
oder _Group |
Name der Benutzer-Gruppe für diesen Anwender.
Pflichtangabe, außer in der Pseudo Benutzerdatei _ANY_.ini.
|
Password | Optional: Verschlüsseltes Passwort für diesen Anwender.
|
_User | Sonderfall "Redirect": Vergibt einen anderen Benutzer-Namen.
|
Sie können hier ausnahmsweise auch noch die allgemeinen Attribute angeben, die für einzelne Anwender Vorrang vor Ihren Angaben in der Gruppen-Datei haben sollen.
Beispiel für eine einfache Benutzerdatei:
# user profile extern.ini Group = extern Password = 19A7..
Weitere Beispiele finden Sie in den Beispiel-Konfigurationen.
Mit dem Parameter GroupProfiles legen Sie den Pfad zu Ihren Gruppen-Dateien fest. Für jede Benutzergruppe legen Sie in diesem Verzeichnis nun eine Textdatei unter dem jeweiligen Gruppen-Namen an, beispielsweise extern.ini.
Bitte beachten Sie:
In den Gruppen-Dateien können Sie die oben beschriebenen allgemeinen Attribute angeben. Diese gelten dann für alle Benutzer dieser Gruppe, soweit sie nicht in den jeweiligen Benutzer-Angaben widerrufen werden.
Spezielle Einträge in Gruppen-Dateien:
Eigenschaft | Bedeutung |
---|---|
_Group | Sonderfall "Redirect": Vergibt einen anderen Gruppen-Namen.
|
_AutoCreateGroup | Sonderfall: Erzeugt automatisch ein fehlendes Gruppenprofil. |
Beispiel für eine Gruppen-Datei:
# group profile extern.ini _WriteUser = true ChangePassword = true
Weitere Beispiele finden Sie in den Beispiel-Konfigurationen.
Die Pseudo Benutzerdatei _ANY_.ini wird immer dann verwendet, wenn bei der Anmeldung ein unbekannter Benutzer-Name angegeben wurde.
Die Pseudo Benutzerdatei _ANY_.ini wird beispielsweise verwendet für eine Anbindung an eine bereits vorhandene externe Benutzerverwaltung:
# pseudo user file _ANY_.ini accepts any user name from external service # no individual user profile created
Die Pseudo Benutzerdatei _DEFAULT_.ini wird immer dann verwendet, wenn bei der Anmeldung kein Benutzername angegeben wurde.
Die Pseudo Benutzerdatei _DEFAULT_.ini wird beispielsweise verwendet zur Realisierung einer leeren Benutzerverwaltung und lenkt dort auf einen (existierenden) "Standard-Benutzer" um:
# pseudo user file _DEFAULT_.ini accepts missing user name and redirects to user "default" _User = default
Die Pseudo Gruppendatei _ANY_.ini wird immer dann verwendet, wenn bei der Anmeldung ein unbekannter Gruppen-Name übermittelt wurde.
Die Pseudo Gruppendatei _ANY_.ini wird beispielsweise verwendet für eine Anbindung an eine bereits vorhandene LOG-WEB oder externe Benutzerverwaltung:
# pseudo group file _ANY_.ini accepts any group name # note: user profiles are accessed via LOG-WEB server _WriteUser = true
Die Pseudo Gruppendatei _DEFAULT_.ini wird immer dann verwendet, wenn bei der Anmeldung kein Benutzername angegeben wurde.
Die Pseudo Gruppendatei _DEFAULT_.ini wird verwendet, wenn eine externe Benutzerverwaltung keinen Gruppen-Namen liefert und lenkt dort auf eine (existierende) "Standard-Gruppe" um:
# pseudo group file _DEFAULT_.ini accepts missing group name # redirects to group "default" _Group = default
Wenn Sie ohne Benutzerverwaltung arbeiten wollen, müssen Sie entsprechende "leere" Angaben machen. Die Muster-Konfiguration userdb/empty ist in der Auslieferung bereits mit den Grundeinstellungen
UserDatabase = file UserProfiles = userdb/empty/users GroupProfiles = userdb/empty/groups
voreingestellt und enthält eine beispielhafte leere Benutzerverwaltung. Sie ist für erste Tests sofort nutzbar:
Das Verzeichnis userdb/empty enthält dazu folgende Profil-Dateien:
userdb | +-- empty | +-- users | | _DEFAULT_.ini | | _User = default | | default.ini | | _Group = default | | admin.ini | | _Group = admin | | | \-- groups | default.ini | _CookieMaxAge = 0 | _WriteUser = true | admin.ini | _WriteUser = true | _WriteGroup = true | _ChangeGroup = true | _ChangePassword = true ...
Bedeutung der Profil-Dateien:
# pseudo user file _DEFAULT_.ini accepts missing user name # redirects to (existing global) user "default" _User = defaultBedeutung:
# global user profile default.ini Group = defaultBedeutung:
# global group profile default.ini has all (possible) privileges _CookieMaxAge = 0 _WriteUser = trueBedeutung:
Für Tests enthält die leere Benutzerverwaltung noch einen User "admin" mit Sonderrechten:
# user profile admin.ini has special privileges Group = adminBedeutung:
# group profile admin.ini has special privileges _WriteUser=true _WriteGroup=true _ChangeGroup=true ChangePassword=trueBedeutung:
userdb | +-- data | +-- groupdata // Group Data | | \-- admin // nur für Admin-Gruppe | | \-- _login // Verbindungs-Vorlagen | | 3270-offline.ini | | 5250-offline.ini | | 9750-offline.ini | | sinix-offline.ini | | telnet-online.ini | | unix-offline.ini | | vt-offline-trcselect.ini | | | \-- userdata // keine User Data ...
Bei Bedarf können Sie dieses Beispiel auch zu einer "vollen Benutzerverwaltung" ausbauen und produktiv nutzen:
Wenn Sie bereits eine LOG-WEB Benutzerverwaltung eingerichtet haben, können Sie diese problemlos weiter verwenden. Sie gehen dazu folgendermaßen vor:
Geben Sie in den Grundeinstellungen für UserDatabase den Typ "logweb" an:
UserDatabase = logweb
Sie erreichen damit, dass der Anmelde-Name an LOG-WEB weitergereicht wird und dass LOG-WEB die entsprechenden Prüfungen wie bisher vornimmt.
Geben Sie in den Grundeinstellungen für UserProfiles Ihr LOG-WEB Benutzer-Verzeichnis an, beispielsweise
UserProfiles = c:/logweb73/server/config/user
Beim Login wird jetzt in diesem Verzeichnis nach einer User-Datei mit dem entsprechenden Login-Namen gesucht
Die Benutzerverwaltung entnimmt den LOG-WEB Benutzerdateien bei der Anmeldung die folgenden Angaben:
Wenn Sie hier beispielsweise zusätzlich zur bisherigen LOG-WEB Angabe
Group = group/demo.ini
auch noch
_Group = admin
eintragen, erreichen Sie, dass der betreffende Anwender zwar für LOG-WEB wie bisher zur Gruppe demo gehört, für LogWeb/Ajax jedoch das Gruppen-Profil admin erhält.
Bei Bedarf können Sie mit der zusätzlichen Angabe
_WriteGroup = true
dem betreffenden User ausnahmsweise auch Änderungen seiner Gruppen-Konfiguration erlauben.
Die Muster-Konfiguration userdb/logweb der Auslieferung zeigt eine beispielhafte Übernahme der LOG-WEB Benutzerverwaltung:
userdb | +-- logweb | \-- groups | _ANY_.ini | _AutoCreateGroup = true | _WriteUser = true ...
# pseudo group file _ANY_.ini accepts any group name # note: user profiles are accessed via LOG-WEB server _AutoCreateGroup = true _WriteUser = trueBedeutung:
Bitte beachten Sie:
Wenn Ihre Benutzer in einem LDAP oder ActiveDirectory Server verwaltet werden, können Sie die Benutzerverwaltung so konfigurieren, dass dieser Server auch von LogWeb/Ajax benutzt wird.
Geben Sie in den Grundeinstellungen für UserDatabase den Typ "ldap" an:
UserDatabase = ldap GroupProfiles = userdb/ldap/groups
Sie erreichen damit, dass der Anmelde-Name an den LDAP oder ActiveDirectory Server weitergereicht wird und dass dieser die entsprechenden Prüfungen vornimmt.
Da die Benutzerverwaltung von LogWeb/Ajax die Mitgliedschaft eines Benutzers in mehreren Gruppen nicht zulässt, greifen Sie auf die mitgelieferte Muster-Konfiguration userdb/ldap zurück:
userdb | +-- ldap | \-- groups | _DEFAULT_.ini | _Group = default | default.ini | _CookieMaxAge = 0 | _WriteUser = true ...
Damit wird erreicht, dass alle Benutzer der Gruppe "default" zugeordnet werden.
Den Zugriff auf den LDAP oder ActiveDirectory Server konfigurieren Sie in der Datei WEB-INF/LdapConfig.ini, die konfigurierbaren Eigenschaften in dieser Datei stellt die folgende Tabelle zusammen:
Eigenschaft | Bedeutung |
---|---|
de.logics.logwebAppV3.login.LdapSpi | Name der Java Klasse, die den Zugriff auf den LDAP oder ActiveDirectory Server implementiert.
Diesen Wert dürfen Sie nur dann ändern, wenn Sie eine eigene Java Klasse für den Zugriff
zur Verfügung stellen. Voreinstellung: de.logics.logwebAppV3.login.LdapExample |
domain.server.url | Adresse des Domain Server.
Beispiel: ldap://my.company.com:389 |
domain.fast.binding | Legt fest, ob "Fast Binding" für den Verbindungsaufbau zum Domain Server benutzt werden soll. Zum Einschalten ist der Wert "true" anzugeben, alle anderen Werte lassen "Fast Binding" deaktiviert. |
domain.return.attributes | Durch Kommata oder Leezeichen getrennte Liste der zurückzuliefernden Attribute.
Beispiel: cn, sAMAccountName |
global.server.url | Adresse des globalen Katalogs. Ist dieser Wert nicht angegeben, wird die Einstellung der Eigenschaft domain.server.url verwendet. |
global.username | Benutzername für die Anmeldung am globalen Katalog |
global.password | Passwort für die Anmeldung am globalen Katalog |
global.search.base | Basisverzeichnis der Benutzer im globalen Katalog.
Beispiel: DC\=company,DC\=com |
global.search.filter | Filter zur Suche nach Benutzernamen im globalen Katalog. Die Zeichenreihe ${username} wird
durch den übergebenen Benutzernamen ersetzt.
Beispiel: (&(objectClass\=user)(|(cn\=${username})(sAMAccountName\=${username}))) |
Beachten Sie bitte, dass Sie alle Gleichheitszeichen in den Parameterwerten durch einen Schrägstrich \ entwerten müssen.
Beispiel:
# LDAP configuration file # Classname of LDAP Service Provider Implementation de.logics.logwebAppV3.login.LdapSpi = de.logics.logwebAppV3.login.LdapExample # Configure access to the domain server domain.server.url = ldap://my.company.com:389 domain.fast.binding = false domain.return.attributes = cn, sAMAccountName # Configure access to the global catalog global.server.url = ldap://my.company.com:3268 global.username = Administrator global.password = Kennwort global.search.base = DC\=company,DC\=com # ${username} will be replaced by the supplied user name global.search.filter = (&(objectClass\=user)(|(cn\=${username})(sAMAccountName\=${username})))
Wenn Sie Fragen zu weiteren Konfigurationsmöglichkeiten haben, wenden Sie sich bitte an unseren Support. Die Beschreibung der zugrundeliegenden Java Schnittstelle sowie ein Implementierungsbeispiel sind auf Anfrage erhältlich.
Wenn Sie bereits eine andere Benutzerverwaltung eingeführt haben, zum Beispiel über eine Portal-Integration oder Dienste wie LDAP und ActiveDirectory, können Sie diese hier integrieren.
Die einfachste Möglichkeit besteht in der Übernahme der vom externen Dienst geprüften Benutzer- und Gruppen-Namen, wie sie beispielhaft in der Muster-Konfiguration userdb/extern der Auslieferung realisiert ist:
userdb | +-- extern | +-- users | | _ANY_.ini | | // kein Inhalt | \-- groups | _ANY_.ini | _ChangeGroup = true | _WriteUser = true ...
# pseudo user file _ANY_.ini accepts any user name from external service # creates individual user data "on the fly" # no individual user profile createdBedeutung:
# pseudo group file _ANY_.ini accepts any group name from external service _ChangeGroup = true _WriteUser = trueBedeutung:
# pseudo group file _DEFAULT_.ini accepts missing group name from external service # redirects to existing group "default" _Group = defaultdie auf einen bestehende globale Gruppe default.ini umlenkt:
# global group profile default.ini has default privileges _WriteUser = true
Alternativ kann eine stärkere Integration durch Nutzung der LogWeb/Ajax Login-Schnittstellen erreicht werden. Sprechen Sie mit uns über Ihre Anforderungen - wir unterstützen Sie gerne bei der Planung und der Realisierung dieser Aufgabenstellung.