Erweiterte Einstellungen

Die folgenden Parameter können in der Konfiguration geändert werden.

security.ssl.trustAny

Dieser Parameter aktiviert die Unterstützung für selbst signierte Zertifikate bei HTTPS-Verbindungen. Standardmäßig ist die Funktion deaktiviert (false).

security.login.redirect.trusted.hosts

Komma-separierte Liste von akzeptierten Hostnamen. Diese Liste definiert, welche Ziele zur Weiterleitung (Redirect) akzeptiert werden, wenn map.apps am Ende des Login-Prozesses den Browser zur nächsten Seite weiterleitet. Dies stellt sicher, dass Angreifer den Nutzer nicht unter Vorlage einer entsprechenden URL auf eine bösartige Seite lenken können.

Wenn eine Applikation den Nutzer zum Login auf map.apps umleitet und die Applikation unter einem anderen Hostnamen als map.apps aufgerufen wird, müssen hier die entsprechenden Hostnamen hinzugefügt werden. Dies ist z.B. häufig bei der Nutzung von Entwicklungsprojekten der Fall.

Sie können Wildcards verwenden, um z.B. Redirects auf alle Rechner einer Domäne zu erlauben.

Beispiel: *.gishost.org
Standard: localhost

security.embedding.allowed.origins

Komma-separierte Liste von Quellen, die map.apps in einem iFrame einbetten dürfen. Ist die einbettende Seite nicht erlaubt, wird den Responses der Anfrage der X-Frame-Options: DENY Header hinzugefügt.

Wenn die einbettende Seite die gleiche Quelle wie das einzubettende map.apps hat, wird der Zugriff erlaubt und der X-Frame-Options: SAMEORIGIN Header gesetzt.

Beispiel: security.embedding.allowed.origins=https://my‑example.com:8080,https://demos.de
Standard: <leer>

Nutzerspezifische Bereitstellung von Bundles und Widgets

Nachfolgendes gilt nur für Apps, die im Dateisystem - also bei Verzicht auf den map.apps Manager - abgelegt sind. Außerdem ist eine Verknüpfung von map.apps mit security.manager oder map.apps Usermanagement erforderlich.

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-lib 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 Nutzers ein- bzw. ausblenden.

Beispiel
 <s:isInRole role="myRole">"selection"</s:isInRole>

In diesem Beispiel wird die Zeichenkette selection nur dann innerhalb der Datei hinzugefügt, wenn der Nutzer die Rolle myRole besitzt. Dieser tag kann an jeder beliebigen Stelle in der Datei verwendet werden (zum Beispiel um verschiedene Komponenten aus der allowedBundles-Definition oder Werkzeuge aus der Werkzeugliste aus- bzw. einzuschließen).

Beispiel einer app.jsp Datei
 <%@ 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",
       "resultcenter",
       "contentviewer",
       <s:isInRole role="sM_Administrator">"selection",</s:isInRole>
       "infoviewer",
       "toolset",
       "toolrules",
       "authentication"
     ]
   },
   "bundles": {
     ...
   }
 }

Um den Inhalt einer JSP-Datei in eine app.json umzuwandeln, ist es notwendig die Datei innerhalb der Konfiguration zu referenzieren.

 ...
 security.application.jspMappings=.......,/js/apps/{YourApp}/app.json
 ...