RMI RMI-Applet kommunikation funktioniert nicht

stadi

Mitglied
Ich habe einen Tomcat-Server, in dem ich ein Applet eingebaut habe, da das Applet aber auch DB-Zugriff benötigt habe ich noch RMI hinzugefügt.

Das Applet funktioniert und auch die RMI-Kommunikation müsste funktionieren
(Eclipse-> Run as Applet: macht das Gewünschte)

Hier das Problem:
Wenn ich jetzt aber das Applet in meinem JSP-Code einbinde liefert mir die JavaConsole von Firefox folgenden Fehler:
Code:
java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.2:1099 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.Applet2SecurityManager.checkConnect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
	at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
	at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
	at sun.rmi.server.UnicastRef.newCall(Unknown Source)
	at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
	at java.rmi.Naming.lookup(Unknown Source)
	at BlockDiagramm.createDataset(BlockDiagramm.java:65)
	at BlockDiagramm.paint(BlockDiagramm.java:37)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Ich könnte mir denken, das der Fehler an meinem Policy-File liegt, aber ich weiss nicht wo ich das Policy-File hinkopieren soll bzw. wie ich dem Tomcat-Server sage, dass er für RMI dieses File benutzen soll.

Hier noch das Policy-File:
Code:
grant {
	permission java.net.SocketPermission "*","accept,listen,connect";
};

Danke im Voraus für alle Antworten!
 

FArt

Top Contributor
Ich habe einen Tomcat-Server, in dem ich ein Applet eingebaut habe, da das Applet aber auch DB-Zugriff benötigt habe ich noch RMI hinzugefügt.
Ich könnte mir denken, das der Fehler an meinem Policy-File liegt, aber ich weiss nicht wo ich das Policy-File hinkopieren soll bzw. wie ich dem Tomcat-Server sage, dass er für RMI dieses File benutzen soll.
Du verstehst da ein wenig noch nicht so ganz. Das Applet läuft nicht auf dem Server, sondern auf dem Client.
Hier steht wie es geht:
Set up a Policy File to Grant the Required Permission (The Java™ Tutorials > Security Features in Java SE > Quick Tour of Controlling Applets)
 
Zuletzt bearbeitet:

stadi

Mitglied
also ich habe das jetzt mal ausprobiert ich habe ein policy-file erstellt, dass folgendermaßen aussieht:
CodeBase: http://server1/Projekt1/statistik.jsf
Permission: java.net.SocketPermission "MyApplet.class", "connect, resolve"

dann habe ich ein .jar daraus gemacht es signiert und eingebunden, aber es kommt noch immer derselbe Fehler
 

FArt

Top Contributor
da das Applet aber auch DB-Zugriff benötigt habe ich noch RMI hinzugefügt.
Abgesehen davon, dass es einem ungünstigen Design entspricht, wenn ein Applet direkt DB Zugriffe durchführen soll verstehe ich nicht was du genau machen willst. DB Zugriffe? Per RMI?
Nur als Hinweis: du benötigst keine Policy, wenn sich dein Applet nur auf den Server verbinden möchte, von dem aus es geladen wurde.
 

L-ectron-X

Gesperrter Benutzer
Er will RMI als Middleware benutzen, damit das Applet die DB-Zugriffe nicht direkt machen muss. Somit werden keine Zugangsdaten publik, wenn man das Applet dekompilieren sollte. Insofern also eine legitime Lösung.
Was mir aber gerade noch einfällt ist, dass vielleicht auch der Datenbanktreiber signiert werden muss.

Edit: Ach nee, das ist Quatsch. Wenn das Applet keine Datenbankzugriffe macht, sondern sich mit einem RMI-Server verbindet, benutzt es auch keinen Datenbanktreiber. Das liegt ja dann alles auf der Seite vom RMI-Server.
 

stadi

Mitglied
Ja genau so hätte ich es konzipiert.
und das mit dem Datenbanktreiber habe ich schon ausprobiert, das geht auch nicht.

Aber wie sieht es mit meinen anderen libs aus?
Wenn ich sie in das Applet.jar-File mit einbinde und dieses dann signiere, sind die anderen dann auch automatisch signiert?
 

L-ectron-X

Gesperrter Benutzer
Kommt darauf an, was die Bibiotheken machen. Und wenn, dann nur, wenn du sie im Applet-Tag im archive-Attribut auflistest.
Das heißt, dass du vielleicht auch noch mal gucken musst, wie man Applets einbindet. Einbinden von Applets in HTML-Dateien - Byte-Welt Wiki
Schau noch mal oben, hab meinen Beitrag korrigiert.

Einen RMISecurityManager hast du im Applet instanziiert?
Das ich was mit RMI gemacht habe, ist schon etwas länger her, aber ich glaube, der muss so ziemlich als erstes im Applet instanziiert werden.
Ich habe mal für meine Firma auf die gleiche Weise eine alte Access-Datenbank ins Intranet eingebunden.
 

stadi

Mitglied
So habe es jetzt geschafft:
Habe eine Policy erstellt, dann habe ich meine Bibliotheken entpackt mit meiner *.class-Datei des Applets ein *.jar-File erstellt, dieses dann signiert und voila es funktioniert.

Danke für die ganzen Tipps
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O php - applet Kommunikation Netzwerkprogrammierung 9
D Einfache Applet-Servlet-Kommunikation Netzwerkprogrammierung 5
M Servlet - Applet Kommunikation Netzwerkprogrammierung 3
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
R applet servlet kommunikation Netzwerkprogrammierung 2
Androbin Socket Fehlerhafter Applet-Chat Netzwerkprogrammierung 12
S Datei schreiben über Applet Netzwerkprogrammierung 8
N Applet/Applikation auf Xport laufen lassen Netzwerkprogrammierung 10
N Applet Access Denied Netzwerkprogrammierung 12
TheJavaKid Webcam-Chat im Applet (ChatRoulette Klon) Netzwerkprogrammierung 10
H Applet soll XML-File auf Server speichern Netzwerkprogrammierung 6
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
B FTP Applet mit FTP-Server-Zugriff sicher gestalten Netzwerkprogrammierung 12
J Applet soll Daten auf Server ablegen - einfachster Weg fuer n00bs? Netzwerkprogrammierung 4
B Client Server Applet keine Ahnung Netzwerkprogrammierung 3
R Applet --> PHP --> Applet Netzwerkprogrammierung 2
E Userliste für Chat Applet Netzwerkprogrammierung 4
B RTP - Applet Starthilfe Netzwerkprogrammierung 7
B Globale IP-Adresse auslesen - Java Applet Netzwerkprogrammierung 2
J Applet Security - java.security.AccessControlException: access denied Netzwerkprogrammierung 3
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
E Files von Server laden in Applet Netzwerkprogrammierung 5
aze Applet von Webseite aufrufen und mit diesem kommunizieren Netzwerkprogrammierung 8
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
U Server-IP in Applet ermitteln Netzwerkprogrammierung 4
J Connection Speed Test ohne Applet Netzwerkprogrammierung 5
ABstraCT Applet multipler port Zugriff möglich ? Netzwerkprogrammierung 5
C Applet mit Script steuern Netzwerkprogrammierung 9
A Problem mit Netzwerkprogrammierung im Applet! Netzwerkprogrammierung 10
F applet verbindung zum server Netzwerkprogrammierung 6
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
F Applet Datei Zugriff Netzwerkprogrammierung 13
M Server aus inem Applet heraus starten Netzwerkprogrammierung 4
G Applet und Netzwerkverbindungen? Netzwerkprogrammierung 2
F Daten senden und empfangen mit Applet Netzwerkprogrammierung 8
K Datenaustausch zwischen Applet und JSP Netzwerkprogrammierung 4
E Applet zum Datei-Upload Netzwerkprogrammierung 3
T Image aus Applet an PHP Seite senden? Netzwerkprogrammierung 3
S Java Applet Chat Grundsatzfrage Netzwerkprogrammierung 6
H RMI + Socket + Applet Netzwerkprogrammierung 5
N Chatprogrammierung - Applet Netzwerkprogrammierung 3
S Von Applet zu applet Netzwerkprogrammierung 7
G RMI + Applet - Verbindung nur lokal Netzwerkprogrammierung 27
S Applet und JWS auf Apache-Axis (SOAP) Netzwerkprogrammierung 8
Paule Connection Applet Servlet ohne Socket bzw RMI Netzwerkprogrammierung 2
G Applet java.net: acces denied Netzwerkprogrammierung 2
R Applet & Netzwerk Netzwerkprogrammierung 4
M Einfachste Möglichkeit aus'm Applet Daten an Server senden Netzwerkprogrammierung 6
M Zum x-ten Mal: Problem mit NetSend-Applet Netzwerkprogrammierung 5
C Applet <> Servlet Netzwerkprogrammierung 4
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
G Socket Socket Kommunikation Netzwerkprogrammierung 1
R Kommunikation zwischen Shell und Putty Netzwerkprogrammierung 5
temi (Netzwerk-) Kommunikation zwischen Anwendungen. Wie? Netzwerkprogrammierung 5
T Client zu Client Kommunikation Netzwerkprogrammierung 2
K Socket Nur bestimmte Zeichen als Kommunikation zulassen Netzwerkprogrammierung 1
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
H Android - PC kommunikation Netzwerkprogrammierung 3
S Server Kommunikation Netzwerkprogrammierung 1
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
M Kommunikation übers Internet Netzwerkprogrammierung 9
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
Shams Anfängerfrage zu Server-Socket-Kommunikation Netzwerkprogrammierung 2
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
I Interne Computer Kommunikation Netzwerkprogrammierung 6
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
R Server zu Client Kommunikation Netzwerkprogrammierung 11
V Socket UDP Server/Client Kommunikation sehr langsam Netzwerkprogrammierung 2
Y HTTP Google Reader API Kommunikation Netzwerkprogrammierung 3
C Socket Kommunikation mit SMTP-Server Netzwerkprogrammierung 4
J Kommunikation von Webanwendungen (auf Tomcat Server) untereinander Netzwerkprogrammierung 8
H Kommunikation Netzwerkprogrammierung 8
F Socket Server/Client Kommunikation Netzwerkprogrammierung 4
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
E Zeitgleiche Kommunikation, mögliche Ansätze Netzwerkprogrammierung 17
1 Java to Android TCP Kommunikation Netzwerkprogrammierung 2
D HTTP Java HTTP Kommunikation Netzwerkprogrammierung 9
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
R Kommunikation TCP + UDP Netzwerkprogrammierung 3
1 Kommunikation mit externem Programm über TCP Netzwerkprogrammierung 2
D Server-Client (Web) Kommunikation Netzwerkprogrammierung 9
E Client-Server-Kommunikation Netzwerkprogrammierung 13
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
DamienX Socket Asnchrone Kommunikation Netzwerkprogrammierung 5
Raidri Rückwertige RMI Kommunikation Netzwerkprogrammierung 6
S TCP/IP-Kommunikation ist zu langsam Netzwerkprogrammierung 13
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
G java asynchrone kommunikation Netzwerkprogrammierung 8
B Rmi Kommunikation Server zu mehreren Clients? Netzwerkprogrammierung 3
G Problem mit Client-Server Kommunikation Netzwerkprogrammierung 4
N Servlet-RMI Kommunikation Netzwerkprogrammierung 8
G Objecte für Kommunikation nutzen Netzwerkprogrammierung 2
L http kommunikation mit und ohne multipart Netzwerkprogrammierung 4
G unvollständige Daten: Http Client-Server-Kommunikation Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben