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:

  1. Starten Sie den Windowsexplorer.

  2. 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

  3. Starten Sie den IIS.

  4. Markieren Sie das Verzeichnis "api" .

  5. Führen Sie einen Doppelklick auf "Authentifizierung" aus .

    Sie gelangen auf "Authentifizierung.

  6. Setzen Sie bei "Anonyme Authentifizierung" den Status auf "Aktiviert".

  7. Setzen Sie alle anderen Authentifizierungseinträge auf "Deaktiviert".

  8. Verfahren Sie auf dieselbe Weise mit dem Verzeichnis "app".

  9. Gehen Sie zurück in den Windowsexplorer.

  10. Wechseln Sie in das Verzeichnis<intrexx-installationsverzeichnis>\org\<portal-verzeichnis>\external\htmlroot.

    web.config

  11. Öffnen Sie die Datei "web.config".

  12.   <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>
  13. Speichern Sie die Datei.

  14. Wechseln Sie in das Verzeichnis %WinDir%\System32\Inetsrv\Config.

    ApplicationHost.config

  15. Öffnen Sie die Datei "ApplicationHost.config".

  16. 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" />
  17. Speichern Sie die Datei.

  18. Starten Sie den IIS neu.

  19. Löschen Sie die zuvor im Portalverzeichnis unter "external > htmlroot" angelegten Verzeichnisse "api" und "app".

Weitere Informationen