Zugriff auf Application API einrichten (IIS)
Nachdem Sie API-Endpunkte erstellt haben, können Sie von extern, beispielsweise über eine Smartphone-App, auf Daten in Intrexx zugreifen.
Für den Zugriff auf die Intrexx Application API ist eine Autorisierung erforderlich. Diese erfolgt nur gegen Intrexx. Der Einsatz der im IIS integrierten Windows-Authentifizierung ist für die Autorisierung an der Intrexx Application API nicht möglich.
Im Folgenden finden Sie eine Beschreibung, wie Sie vorgehen müssen, falls Sie den IIS mit integrierter Windows-Authentifizierung einsetzen.
Ausgangsszenario
Diese Beschreibung ist für Sie unter folgenden Voraussetzungen relevant:
-
Sie betreiben Intrexx unter Windows.
-
Sie setzen den IIS (Internet Information Service) als Frontend Webserver ein.
-
Sie nutzen die im IIS integrierte Windows-Authentifizierung.
-
Sie nutzen die Intrexx Application API.
(Vergleichen Sie hierzu auch die Abschnitte Architektur von Intrexx und Windows - IIS (Internet Information Service) einrichten.)
Authentifizierung an der Intrexx Application API
Die Authentifizierung an der Intrexx Application API ist über die im IIS integrierte Windows-Authentifizierung nicht möglich. Sie müssen statt dessen einen anonymen Zugriff für die Intrexx Application API im IIS einrichten. Dabei erfolgt die Authentifizierung nur gegen Intrexx. Dies ist entweder über den API-Key (Authentifizierung über API Keys) oder per API-Login (Authentifizierung über API-Login-Endpunkt und Cookies (ohne API-Key)) möglich.
Zentrale Schritte
-
Verzeichnisse im Portalverzeichnis anlegen
-
Einstellungen zur Authentifizierung im IIS vornehmen
-
Die zum Portal gehörige Datei web.config anpassen
-
Die zu Windows gehörige Datei applicationHost.config anpassen
-
Die zuvor angelegten Verzeichnisse im Portalverzeichnis löschen
Anonymen Zugriff im IIS einrichten
Schritt-für-Schritt
Um im IIS einen anonymen Zugriff auf die Intrexx Application API einzurichten, gehen Sie wie folgt vor:
-
Starten Sie den Windowsexplorer.
-
Legen Sie im Portalverzeichnis unter "external > htmlroot" das Verzeichnis "api" und darin das Verzeichnis "app" an.
Die Verzeichnisstruktur stellt sich dann so dar:
<intrexx-installationsverzeichnis>\org\<portal-verzeichnis>\external\htmlroot\api\app
-
Starten Sie den IIS.
-
Markieren Sie das Verzeichnis "api" .
-
Führen Sie einen Doppelklick auf "Authentifizierung" aus .
Sie gelangen auf "Authentifizierung.
-
Setzen Sie bei "Anonyme Authentifizierung" den Status auf "Aktiviert".
-
Setzen Sie alle anderen Authentifizierungseinträge auf "Deaktiviert".
-
Verfahren Sie auf dieselbe Weise mit dem Verzeichnis "app".
-
Gehen Sie zurück in den Windowsexplorer.
-
Wechseln Sie in das Verzeichnis<intrexx-installationsverzeichnis>\org\<portal-verzeichnis>\external\htmlroot.
web.config
-
Öffnen Sie die Datei "web.config".
-
Fügen Sie folgenden Code vor dem schließenden Tag </configuration> in die Datei ein:
<location path="api"> <!-- relative to where the web.config file is located --> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> <system.webServer> <security> <authentication> <windowsAuthentication enabled="false" /> <anonymousAuthentication enabled="true" /> </authentication> </security> </system.webServer> </location>
-
Speichern Sie die Datei.
-
Wechseln Sie in das Verzeichnis %WinDir%\System32\Inetsrv\Config.
ApplicationHost.config
-
Öffnen Sie die Datei "ApplicationHost.config".
-
Setzen Sie die folgenden Propertys der <sectionGroup name="security"> bzw. <sectionGroup name="authentication"> von "Deny" auf "Allow":
<section name="access" overrideModeDefault="Allow" /> <section name="anonymousAuthentication" overrideModeDefault="Allow" /> <section name="windowsAuthentication" overrideModeDefault="Allow" />
-
Speichern Sie die Datei.
-
Starten Sie den IIS neu.
-
Löschen Sie die zuvor im Portalverzeichnis unter "external > htmlroot" angelegten Verzeichnisse "api" und "app".
Weitere Informationen