Problemstellung: <\/STRONG><\/U><\/P>Dies ist ein sehr häufiges Szenario, über das viele Entwickler nachgedacht haben müssen. Wir haben einen gesicherten GIS-Webdienst, der nur für eine begrenzte Anzahl von Benutzern innerhalb unseres ArcGIS Enterprise zugänglich ist. Nun möchten wir diesen Dienst in einer Anwendung verwenden, die auf dem ArcGIS JavaScript SDK basiert. Wenn wir diesen GIS-Webdienst direkt im JavaScript SDK verwenden, wird dem Benutzer beim Initialisieren der Anwendung oft ein Login-Popup angezeigt. Die Herausforderung besteht nun darin, dass die App ohne Anmeldung verwendet werden soll, da sie für ein breiteres Publikum gedacht ist, und der GIS-Dienst darf auch nicht öffentlich zugänglich sein, da er sensible Informationen enthält.<\/P>Wir suchen eine Lösung, die es uns ermöglicht, den gesicherten GIS-Dienst in der öffentlich zugänglichen Anwendung ohne Anmeldeaufforderungen von ArcGIS Enterprise zu nutzen, wobei der Dienstzugriff ebenfalls eingeschränkt sein muss, um eine höhere Sicherheit und Datenintegrität zu gewährleisten.<\/STRONG><\/P>Vorgehensweise:<\/STRONG><\/U><\/P>Nach einiger Recherche habe ich selbst eine praktikable Lösung für dieses einfache Problem gefunden. Die Antwort ist die Verwendung einer PROXY-SEITE innerhalb meiner benutzerdefinierten Webanwendung.<\/P>Das ArcGIS JavaScript SDK bietet selbst die Funktionalität zur Konfiguration serverseitiger Proxys innerhalb Ihrer Webanwendungen über Hilfsklassen. Das Gute daran ist, dass die Funktionalität von Proxy-Seiten nicht nur in Esri Custom Apps verwendet werden kann, die mit SDKs erstellt wurden, sondern auch von verschiedenen Esri Web App Builder-Plattformen wie ArcGIS Web App Builder & ArcGIS Experience Builder.<\/P>Der ArcGIS Proxy fungiert als Postbote zwischen den Browsern Ihrer Clients und Ihrem Webserver, was bedeutet, dass die Anfrage an den gesicherten Dienst über diesen Postboten, also den Esri Proxy, geleitet wird. Dieser authentifiziert den Dienst im Namen des Benutzers mithilfe eines eingebetteten Tokens oder Anmeldeinformationen, die sich in Ihrer Proxy-Datei befinden. Dies stellt sicher, dass die öffentlich zugängliche Webanwendung auf den gesicherten Dienst zugreifen kann, ohne den Benutzer nach Anmeldeinformationen zu fragen. Der Proxy kann auch so konfiguriert werden, dass nur Whitelist-Domains Zugriff auf die Proxy-Seite haben, sodass anonymer Zugriff auf den Proxy vermieden wird und somit die Datenintegrität gewährleistet ist. <\/P>Stellen Sie einfach sicher, dass Sie Ihre gesicherte GIS-Webdienst-URL zusammen mit den Anmeldeinformationen oder dem Token in der proxy.config-Datei platzieren, welche Ihr Webserver verwendet, um den Dienst im Namen des Benutzers zu authentifizieren. Das Beste daran ist, dass der Proxy in Ihrer Umgebung für verschiedene Webserver wie IIS, Apache, Tomcat usw. konfiguriert werden kann. Daher können Sie unabhängig von der Programmiersprache die vollständigen Vorteile des Esri-Proxys mit dem ArcGIS JavaScript SDK nutzen. Egal ob Sie mit .NET, JAVA, PHP React usw. arbeiten – Sie können den Esri Proxy verwenden und von seinen Vorteilen profitieren.<\/P>Sehen Sie sich die folgenden Links & Beispielcode für ein detailliertes Verständnis an:<\/P>Dokumentation<\/U><\/STRONG>: <\/SPAN>https:\/\/developers.arcgis.com\/javascript\/3\/jshelp\/ags_proxy.html<\/A><\/P>Proxy Download Link:<\/U><\/STRONG> <\/SPAN>
https:\/\/github.com\/Esri\/resource-proxy\/releases<\/A><\/P>Beispielcode:<\/U><\/STRONG> <\/SPAN>Angehängt<\/P>