2016-04-28 11 views
0

Ich arbeite an JavaFx, und wir müssen unsere App auf JNLP Web Start ausführen, wir haben einige Probleme konfrontiert, und wir haben sie gelöst, jetzt, wir haben einen Fehler in SocketPermission auf JNLP-Laufzeit.Aaccess verweigert - java.net.SocketPermission auf JNLP

Mein Problem tritt auf, wenn ich eine HTTP-Anfrage an unseren Server (APIs) aufrufen, kann die App die Anfrage nicht nennen wegen der Erlaubnis verweigert wird:

java.security.AccessControlException: access denied ("java.net.SocketPermission" "192.168.1.16:8080" "connect,resolve") 
at java.security.AccessControlContext.checkPermission(Unknown Source) 
at java.security.AccessController.checkPermission(Unknown Source) 
at java.lang.SecurityManager.checkPermission(Unknown Source) 
at java.lang.SecurityManager.checkConnect(Unknown Source) 
at sun.plugin2.applet.SecurityManagerHelper.checkConnectHelper(Unknown Source) 
at sun.plugin2.applet.FXAppletSecurityManager.checkConnect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74) 
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134) 

Einige Entwickler sagte sollte ich die java.policy ändern haben Datei in meinem JRE, und sagte, es ist ein falscher Weg, es zu lösen, aber ich tat dies und nichts passierte.

Gibt es andere Möglichkeiten, dieses Problem zu lösen?!

Antwort

0

Fügen Sie den folgenden Abschnitt in Ihrer JNLP-Datei:

<security> 
     <all-permissions/> 
    </security> 
+0

Beachten Sie, dass vor kurzem, das Manifest des Jar auch 'All-permissions' angeben müssen. Überprüfen Sie den JNLP mithilfe von JaNeLA, das Sie auf meiner [share drive] (https://drive.google.com/drive/#folders/0B5B9wDXIGw9lUnJaUjA2cmlVRE0) finden. –

+0

@AndrewThompson Gibt es eine Dokumentation oder ein Tutorial für JaNeLA? In Drive habe ich viele Jar-Dateien gefunden, wie kann ich sie nennen? – MhmdAljobairi

+0

* "n Drive, ich habe dort viele Jar-Dateien gefunden, wie kann ich sie anrufen?!" * Es ist der Name namens "janela.jar". Der Grund, warum ich nicht direkt damit verlinkt habe ist, dass man dann einen großen, meist dunklen Bildschirm bekommt, der sagt, dass es keine Vorschau anzeigen kann und "willst du herunterladen". Wenn Sie im Verzeichnis nach unten blättern und das Glas auswählen, wird ein sehr kurzer Klappentext angezeigt. Aber erwarten Sie nicht viel Dokumentation, wurde vor ein paar Jahren geschrieben und wird nicht aktualisiert. –

Verwandte Themen