Bitte beachten Sie: Dieser Blog geht davon aus, dass Sie bereits einen Proxy heruntergeladen, gehostet und richtig konfiguriert haben. Sind Sie sich nicht sicher, ob Sie das getan haben? Kein Problem; folgen Sie einfach den Anweisungen HERE<\/STRONG> <\/A>.<\/EM><\/P>Nur um es zusammenzufassen, hier sind einige Gründe, einen Proxy mit einer Web AppBuilder-Anwendung einzurichten.Zugriff auf gesicherte Dienste mit tokenbasierter Authentifizierung<\/LI>Ressourcen über Domains hinweg abrufen<\/LI>Anfrage überschreitet 2.048 Zeichen<\/LI>O-Auth 2.0 App-Logins verwendet<\/LI>Ermöglicht Protokollierung<\/LI>Sowohl ressourcen- als auch refererbasierte Ratenbegrenzung<\/LI><\/UL><\/BLOCKQUOTE>Um sicherzustellen, dass wir alle auf dem gleichen Stand sind, klären wir die unklare Situation. Eine großartige Anwendung wurde in der Developer Edition von Web AppBuilder erstellt. Überprüfen Sie bitte, ob die Anwendung heruntergeladen und auf einem Webserver bereitgestellt wurde.Zwei Dinge sind gesichert:Eine ArcGIS Online-Webkarte, die mit der Organisation geteilt wird<\/LI>Ein ArcGIS for Server-Kartendienst, der mit ArcGIS Server eingebaut und mit ArcGIS-Tokens gesichert ist<\/LI><\/OL><\/BLOCKQUOTE>In diesem Beispiel haben wir zwei Herausforderungen beim Ausführen der Anwendung: Erstens die Authentifizierung der gesicherten Webkarte und zweitens die Sicherung des ArcGIS for Server-Kartendienstes.Wenn wir die Entwicklerwerkzeuge öffnen und uns den Netzwerk-Tab ansehen, sehen wir, dass die Antwort einen 403-Fehler zurückgibt, wenn auf die ArcGIS Online-Webkarte zugegriffen wird. Dies liegt daran, dass ein anonymer Benutzer standardmäßig keine Berechtigung hat, auf diese Ressource zuzugreifen.<\/A> Herausforderung bei der Sicherung einer Webkarte<\/P><\/DIV>Bei der zweiten Herausforderung sehen wir im Netzwerk-Tab, dass die Anwendung den Dienst nicht laden kann und einen 499 Token erforderlich Fehler zurückgibt. Dies zeigt uns, dass wir zum Zugriff auf den Inhalt ein Token übergeben müssen.<\/A> Herausforderung bei der Sicherung eines ArcGIS for Server-Kartendienstes<\/P><\/DIV>Gut, jetzt sind wir bereit einzutauchen!1. Öffnen Sie im Windows Explorer die "config.json" Datei der Anwendung. <\/A>2. Ganz unten in der Datei gibt es einen gemütlichen Platz, um die Proxy-Regel zur Anwendung hinzuzufügen. <\/A>Der Parameter useProxy<\/STRONG> (Boolean) ist standardmäßig auf true gesetzt. Wenn er auf false gesetzt ist, verwenden alle Anfragen keinen Proxy.Der url<\/
Herausforderung bei der Sicherung einer Webkarte<\/P><\/DIV>Bei der zweiten Herausforderung sehen wir im Netzwerk-Tab, dass die Anwendung den Dienst nicht laden kann und einen 499 Token erforderlich Fehler zurückgibt. Dies zeigt uns, dass wir zum Zugriff auf den Inhalt ein Token übergeben müssen.
Herausforderung bei der Sicherung eines ArcGIS for Server-Kartendienstes<\/P><\/DIV>Gut, jetzt sind wir bereit einzutauchen!1. Öffnen Sie im Windows Explorer die "config.json" Datei der Anwendung.
If you get a popup message to sign-in, it's either the proxy didn't trigger for the request or you don't have permissions to access some portal items through the proxy. You need to narrow the problem by accessing the resources through the proxy directly to understand if it works or not -
https://#proxy-url/proxy.ashx#?#resource-url#
and always work with fiddler or the network tab in dev-tools, to examine the response.
When creating an app with client id+secret, you delegate access to Portal for that user who created that app. if Portal items are not owned by/shared with that user who created the dev app, you will still not be able to access these portal items with the client id + secret
How did you resolve the pop up issue ?
Hi, Did you get anything that worked for you ?Please reply, It will be greatful
Hello,
After performing all the steps you mentioned, I am still getting popup for Login using Username Password. Screenshot - 09bb900de3a61f481b47527b1cf0b308 - Gyazo
My HttpProxy looks something like this.
and Proxy.config look like this.
<serverUrl url="http://geollect.maps.arcgis.com/sharing/rest" clientId="sdsdsdsddffCCuDcgfdgfg" clientSecret="dsdsdsdsdsdsds34e18gfgfgfgf" matchAll="true"/> <serverUrl url="http://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer" username="username" password="password" matchAll="true" /> <serverUrl url="http://services.arcgis.com"clientId="sdsdsdsddffCCuDcgfdgfg"clientSecret="dsdsdsdsdsdsds34e18gfgfgfgf" matchAll="true"/> <serverUrl url="http://route.arcgis.com"clientId="sdsdsdsddffCCuDcgfdgfg"clientSecret="dsdsdsdsdsdsds34e18gfgfgfgf" matchAll="true" />Can you help me here?
Is there additional settings/config to get this working on an Enterprise 10.6x instance with Portal and Active Directory authentication?
I have the proxy working on a 10.3 instance with no Portal and simple ArcGIS Server User Store, but on this new server instance it continues to prompt with the login page.
I have so far: - installed the DotNet proxy files - created the Application in IIS - setup the serverUrl details in the proxy.config file using one of the ArcGIS user credentials (not an AD user) - the proxy URLs test successfully:
https://<my-server>/DotNet/proxy.ashx?https://my-server/portal/sharing/rest/content/items/<some itemID 1>
https://<my-server>/DotNet/proxy.ashx?https://my-server/portal/sharing/rest/content/items/<some itemID 2>
https://<my-server>/DotNet/proxy.ashx?https://my-server/arcgis/rest/services/<Folder Name>
So the proxy seems to be working, but it still fires the login page when hitting the web app?
Any ideas/suggestions would be greatly appreciated.
Bill, did you find an answer to this question? I believe I may be experiencing the same issue the proxy gets my into the web map fine, but i'm challenged for the arcgis login when running the analysis widget.
Thanks!
JP
I can't seem to figure out how to deploy my web app.
For me, it is still unclear what the following parameters are for my app:
yourDomainyourDomainNameyourSecuredService
I guess 'yourDomain' is "routeplannerpedestrianthesis". This is the domain I set in the Data Source URL (https://laptop-p9sbpmdc.routeplannerpedestrianthesis:3344/webbuilder ) in the settings of the web app. But if this is true, what is "yourDomainName", does this differ from "yourDomain"? In addition, I am also not sure what "yourSecuredService" could be. Below you can see my proxy.config file and my config.json file. Please let me know what I am doing wrong. For obvious reasons I deleted my ClientID, ClientSecret and username and password in the printscreen. In my webapp I make use of the Plan Route widget.
I set up the DotNet proxy on the same machine as my app.
I set up the application's config.json with one rule:
"httpProxy": { "useProxy": true, "alwaysUseProxy": false, "url": "", "rules": [{ "urlPrefix": "https://SERVER1/borOutreach", "proxyUrl": "https://SERVER1/DotNet/proxy.ashx" }] }<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
I set the proxy.config with one serverUrl:
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>serverUrls</SPAN><SPAN class="punctuation token">></SPAN></SPAN> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>serverUrl</SPAN> <SPAN class="attr-name token">url</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2FSERVER1%2FborOutreach" target="_blank">https://SERVER1/borOutreach</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token">matchAll</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>true<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">/></SPAN></SPAN> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>serverUrls</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
https://SERVER1/DotNet/proxy.ashx?ping returns
{ "Proxy Version": "1.1.2", "Configuration File": "OK", "Log File": "Not Exist/Readable"}
But https://SERVER1/DotNet/proxy.ashx?https://SERVER1/borOutreach?f=pjson fails to load anything, looking for simpleLoader.js , init.js, env.js etc. at https://SERVER1/DotNet/fileName.ext
If I swap out http://esri.com for https://SERVER1/borOutreach in config.json and proxy.config, it loads the (poorly formatted) Esri webpage.
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.