map.apps User Management
Durch eine Verbindung mit map.apps User Management entstehen folgende Möglichkeiten:
-
Rollen für die Nutzung des map.apps Managers vergeben
-
Apps absichern
-
Werkzeuge absichern
Verbindung zwischen map.apps und map.apps User Management herstellen
Bei Erwerb der map.apps Usermanagement Erweiterung wird eine funktional eingeschränkte security.manager Version zur Verfügung gestellt. Im Folgenden wird daher zum Teil von Einstellungen im security.manager gesprochen.
Betrieb von map.apps und security.manager unter gleichem Host
Die folgenden Parameter müssen in der globalen Konfiguration ergänzt oder geändert werden.
security.mode=ONLY_AUTHN
# security.manager adminstration service location
security.administration.url=https://<yourserver>/administration
# Key Store Location.
# This is the path to the keystore (`.keystore` file) shared by security.manager and map.apps
security.keystore.location=C:/data/conterra/.keystore
Wenn im security.manager weitergehende Einstellungen zum Keystore verändert sind (z.B. Passwort), müssen diese ebenfalls in der map.apps Konfiguration ergänzt werden.
Betrieb von map.apps und security.manager auf unterschiedlichen Hosts
Wenn security.manager auf einem anderen Server installiert ist als map.apps, muss die keystore-Datei auf den map.apps Server kopiert werden.
Zusätzlich zu den im vorherigen Abschnitt beschriebenen Einstellungen muss zudem der folgende Parameter in der security.manager Konfiguration ergänzt oder geändert werden (wobei example.com
der Name des Hosts ist auf dem map.apps installiert ist).
# Hostname of the server running map.apps
security.allowed.hostnames=example.com
Benutzung des map.apps Manager
Um in einem SSO-Szenario mit security.manager den map.apps Managers nutzen zu können, ist es erforderlich, eine map.apps Administrationsrolle zu vergeben.
Dazu muss die Rolle maAdmin
im security.manager angelegt werden und dem Zugang zugewiesen werden, mit welchem der map.apps Manager benutzt werden soll.
Selbstregistrierung und Passwort-Wiederherstellungsoptionen verwenden
Um die Selbstregistrierungs- und/oder Passwort-Wiederherstellungsoptionen des security.manager zu nutzen, kann map.apps auf die Anmeldeseite des security.manager verwiesen werden (anstatt den integrierten Anmeldedialog zu verwenden).
Ändern Sie die folgende Eigenschaft:
security.login.service.url=https://yourserver/administration/account/login
Rollenbasierte Bereitstellung von Bundles und Widgets
Nachfolgendes gilt nur für Apps, die im Dateisystem - also bei Verzicht auf den map.apps Manager - abgelegt sind. |
Führen Sie folgende Schritte durch, um Funktionalität in Form von Bundles und Widgets rollenbasiert freizugeben.
Konfigurieren Sie zunächst eine App mit dem map.apps Manager und exportieren diese.
Die entpackte App wird danach im map.apps-Installationsverzeichnis unter folgendem Pfad abgelegt: {map.apps dir}\js\apps\YourApp
.
Der Unterordner apps/
muss ggf. vorher im Dateisystem erstellt werden und die Datei app.json
in app.jsp
umbenannt werden.
Es ist möglich, eine security.manager-Bibliothek zu verwenden, um spezielle Konfigurationen innerhalb einer App-Konfigurations-Datei ein- bzw. auszufiltern.
Dieses Vorgehen verwendet die security.manager Tag Library und erfordert die Definition einer JSP-Datei (app.jsp
) anstelle einer JSON-Datei (app.json
).
Bis auf eine spezielle Kopfzeile ist der Inhalt der Dateien jedoch identisch.
Sobald die JSP-Datei vom Server angefragt wird, wird sie in eine JSON-Datei ohne zusätzliche Kopfzeile transformiert.
Innerhalb der JSP-Datei können spezielle Tags definiert werden, die bestimmte Inhalte anhand der Rolle des Zugangs ein- bzw. ausblenden.
<s:isInRole role="myRole">"selection"</s:isInRole>
In diesem Beispiel wird die Zeichenkette selection
nur dann innerhalb der Datei hinzugefügt, wenn die Person die Rolle myRole
besitzt.
Dieser tag
kann an jeder beliebigen Stelle in der Datei verwendet werden.
Beispielsweise wenn Sie verschiedene Komponenten aus der allowedBundles
-Definition oder Werkzeuge aus der Werkzeugliste aus- bzw. einschließen möchten.
<%@ page contentType="application/json; charset=UTF-8" pageEncoding="UTF-8" language="java" session="false" isThreadSafe="true" isELIgnored="true"%><%@ taglib uri="https://www.conterra.de/security/tags" prefix="s"%>{
"load": {
"allowedBundles": [
"system",
"map",
"themes",
"templates",
"templatelayout",
"windowmanager",
"coordinatetransformer",
"result-ui",
"contentviewer",
<s:isInRole role="sM_Administrator">"selection",</s:isInRole>
"infoviewer",
"toolset",
"toolrules",
"authentication"
]
},
"bundles": {
...
}
}
Um den Inhalt einer JSP-Datei in eine app.json
Datei umzuwandeln, ist es notwendig die Datei innerhalb der globalen Konfiguration zu referenzieren und die App in die Liste der protectedAnonymousResources
aufzunehmen.
...
security.application.jspMappings=.......,/js/apps/{YourApp}/app.json
security.application.protectedAnonymousResources=/js/sample/,/js/sample/*.html,**/appauthorization/app.json,**/{YourApp}/app.json
...