Applet zeigt den login-dialog, wenn die Standardauthentifizierung verwendet
Ich habe ein Java-applet eingefügt auf einer Webseite:
applet = '<embed'
+ ' type="application/x-java-applet;version=1.6"'
+ ' pluginspage = "http://www.java.com/en/download/"'
+ ' width="0" height="0"'
+ ' style="position: absolute"'
+ ' archive="/plugins/MyApplet.jar"'
+ ' code="MyTestApplet.class"'
+ '>'
appletContainer.innerHTML = applet;
Ist der server mit Standardauthentifizierung. Wenn Chrome oder Safari (oder besser gesagt JVM) Anfragen der MyApplet.jar Datei die 'Authentifizierung Erforderlich' wird angezeigt, dass ist sehr ärgerlich.
Habe ich festgestellt, dass Chrome/Safari (oder die JVM) nicht, befestigen Sie die "Authentication:" Basic " - header, um GET-request automatisch für einige Grund.
Eine Idee, wie man die Kraft der Authentifizierung: Basic-header angeschlossen werden, wenn angefordert .jar-Datei, um dies zu vermeiden, extra-login-dialog?
- Machen, sagte applet Ressourcen nicht geschützt auth? Ich glaube nicht, dass das verlangt wird, erreicht werden kann.
- Und was ist, wenn Sie es mit einem standard-applet-Tag oder jnlp?
- +1 auf den JNLP, aber für das schreiben der applet-element verwende ich deployJava.js.
- Sind Sie sicher, dass das applet Java-code kann nicht öffnen Sie eine HTTP-Verbindung zurück an den server, und das ist nicht die Ursache des Problems. Zum Beispiel: stackoverflow.com/questions/2366223/...
- Nein mein applet nicht alle Aufrufe zum server. Ich haben untersucht, wie sich Anforderungen mit fiddler und gefunden, dass das Problem in der GET-Anforderung an jar-Datei.
- Thompson. Soweit ich weiß deployJava.js unterstützt keine dynamischen einfügen von Applets auf einer Seite. Ich muss mich erst mal legen Sie es auf einer Seite dynamisch und entfernen als irgendwann.
- Wenn du meinst mit <applet> tag - es ist nicht eine option. Wenn Sie Java nicht installiert haben (oder wenn es veraltet ist), Applet-tag die Zehen nicht auslösen die "Download Java" - dialog.
- Also das applet-jar nicht im selben dir wie die html-runner "archive="../plugins/MyApplet.jar" ?
- ja, es ist in einem separaten Ordner, aber innerhalb der gleichen domain.
- Und es klingt wie "plugins" ist so konfiguriert, dass "auth" - Zugang. Sie müssen, um es zu ändern, um den anonymen Zugriff zulassen, oder mehr Ihre .jar in ein anderes Verzeichnis (eine, die den anonymen Zugriff zulässt).
- Es gibt kein Verzeichnis mit anonymen Zugriff auf diese website, und ich habe keine Kontrolle über diese.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tatsächlich, ich denke, das problem könnte sein, dass dein applet versucht, eine Verbindung zurück zu dem server, der server ist geschützt durch eine Basis-Authentifizierung. Wenn dem so ist, müssten Sie etwas tun, wie dieses in deinem applet:
Sonst, bewegen Sie einfach Ihren .jar-Datei in ein Verzeichnis auf dem server, der es erlaubt anonymen Lesezugriff.
Als ich es sehen kann, ist es nicht ein applet-Authentifizierung wie es ist, aber eine host/domain ein, nur weil die JVM (watch Oracle Label) selbst ist gefragt für login; vielleicht bedeutet es, dass Ihre html-ist zu versuchen, um das Glas aus einem Verbotenen Ort oder der Pfad wird misstaking als absolute man; aber wenn es eine absolute, wie die /plugins/MyApplet.jar also, wo ist der domain-root dann? Ich bin nicht ziemlich sicher, aber haben Sie versucht, unten Pfad wie "archive="../plugins/MyApplet.jar" mit den doppelten Punkten in dessen Präfix?
Ist und ich nur Fragen, ist die "/plugins" Ordner web eine? Wenn es das problem vielleicht viel tiefer als Java selbst. Kann es sein das domain-innere-web-Ordner-access-policy (wie ein no-sub-Ordner zugreifen) oder etwas, das kontrolliert werden sollte, indem sys-admin.
Als einen Weg, über, versuchen Sie Ihr Glas in den gleichen Ordner wie die html-Datei ist. Vielleicht ist die Sicherheitsrichtlinie für Domänen ermöglicht es Ihrem client-computer verwenden, der nur eine web-Ordner nur