Silverlight - clientaccesspolicy.xml Syntax
-
28-09-2019 - |
Frage
Ich versuche, mit einem Apache-Webserver in einer domänenübergreifende Art und Weise zu kommunizieren.
Ich habe eine clientaccesspolicy.xml Datei auf dem Stamm der Domäne eingerichtet und es wird erfolgreich von dem Silverlight-Client abgerufen, wenn Sie versuchen, eine GET-Anforderung an ein Java-Servlet zu machen, die worden ist eingestellt.
Die Besonderheiten sind so etwas wie folgt aus:
URL zugreifen: dev.corp.companyname.com/servlets/targetServlet
Die clientaccesspolicy.xml Datei sieht wie folgt aus:
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers ="*">
<domain uri ="http://*" />
</allow-from >
<grant-to >
<resource path ="servlets/targetServlet" include-subpaths ="false"/>
</grant-to>
</policy >
</cross-domain-access>
</access-policy>
Ich erhalte die gemeinsame Security mit „Sicherheitsfehler“, wie es die Nachricht. Ich nehme an, dies bedeutet, dass die clientaccesspolicy.xml Datei richtig eingestellt ist.
Also hier sind die Fragen: Sollte
<domain uri ="http://*" />
sein
<domain uri ="*" />
Auch. Sollte
<resource path ="servlets/targetServlet" include-subpaths ="false"/>
sein
<resource path ="/servlets/targetServlet" include-subpaths ="false"/>
Lösung
Sie sollten <domain uri ="*" />
verwenden, wenn Sie alle http und https Anrufer aktivieren möchten. <domain uri ="http://*" />
wird nur alle http Anrufer ermöglichen.
Mit <resource path ="/servlets/targetServlet" include-subpaths ="false"/>
einem Weg von der Wurzel der Site ohne Zugriff auf alle Unterverzeichnisse zu definieren. Verwenden Sie diese spezifisch und nicht releative zu sein. Aus Network Security Zugriffsbeschränkungen in Silverlight
Das Attribut ist die URI relativ zu Stamm der Domäne. Er bezieht sich auf ein spezifischer Pfad, der eine Web darstellen kann Service oder eine Datei.
Der Pfad kann nicht Platzhalter enthalten Zeichen oder Zeichen nicht durch Uniform Resource anerkannt Identifier (URI): Generic Syntax, http://ietf.org/rfc/rfc3986
Dieses Element und Attribut verwendet werden, ausschließlich für Anfragen von WebClient und HTTP-Klassen.