Input/Output java applet schreibrechte

ghost94

Mitglied
Hallo Leute,

ich habe folgendes Problem: Ich möchte mithilfe eines Java Applets Dateien von einer Website auf dem Rechner ablegen. Ich habe gehört das soll mithilfe von Signaturen gehen und mir daher eine Signatur für mein Programm erstellt. Allerdings gibt er mir trotzdem immer den selben Fehler aus:

java.security.AccessControlException: access denied (java.io.FilePermission C:\Users\Peter\Desktop\Projekt\data.txt write)

Nun habe ich etwas über Permissons gelesen allerdings nicht verstanden:(

Könnte es an den Permissions liegen, dass ich keinen Schreibzugriff hab? (Ich bestätige beim aufrufen der Website den Vollzugriff des Applets)
Wenn ja könnte mir jemand ein Beispiel geben, wie ich solche Permissions am besten bekomme (im Optimalfall dynamisch während der Laufzeit)

Vielen Dank im Voraus

Peter
 

ghost94

Mitglied
Hallo und Danke für die zwei antworten,

ich fürchte ich habe mich nicht deutlich genug ausgedrückt.

Also: Ich habe es bereits geschafft ein Applet in meine Website (meine Website soll nur lokal laufen, sie dient als ein art Heft für den Info-Unterricht, muss aber dennoch auf verschiedenen PCs laufen) einzubinden. Ich habe dieses Applet in eine jar-Datei gepackt und es mit einer Signatur versehen. (und dann die .jar eingebunden)

Nun öffne ich die Website und es kommt diese Sicherheitsabfrage für die Signatur. Ich bestätige die Abfrage aber es wird trotzdem die "java.security.AccessControlException: access denied"-Exception geworfen. Ihr habt mir ja einige Links geschickt bei denen auch häufiger das Wort Publicy-Datei fällt, ich verstehe allerdings nicht ganz wo ich diese Publicy-Dateien einsetzten soll (Bitte verzeiht mir ich bin neu in Java :)).

Kann ich diese Dateien mit in die .jar-Datei packen?
Oder muss ich das Permissions auf jedem PC auf dem die Website geöffnet wird von Hand in die lokalen Java-Permissions eintragen?

Viele Grüße

Peter
 

L-ectron-X

Gesperrter Benutzer
Wenn du dein Applet signiert hast und der Benutzer es in seinem Browser geladen hat, kann nur noch er dafür sorgen, ob das Applet zur Ausführung kommt, oder ihm die nötigen Rechte verwehrt bleiben.
Ich will damit sagen, dass das Applet nur signiert werden muss, um die nötigen Rechte zum Speichern von Dateien vom Benutzer erhalten zu können.
Es ist also nichts weiter nötig.
Dass du dennoch eine AccessControlException geworfen bekommst hat wahrscheinlich ganz andere Ursachen, die man aber aus deinen Postings nicht entnehmen kann.
Hast du noch weitere Jar-Dateien in deinem Applet-Tag eingebunden?
 

ghost94

Mitglied
Hallo,

also da ich meinen Fehler immer noch nicht finde Poste ich hier einfach mal meinen Quelltext:

Website:
HTML:
<html>
<head>
<title>Window</title>
<link rel="stylesheet" type="text/css" href="format.css">

</head>
<body>
<h1>Das Fenster</h1><br\>
<script language="JavaScript" type="text/javascript" src="windowScript.js"></script>
<div class="output">

Titel: <input type="text" name="txtboxtitle" id="txtboxtitle"></input></br></br>
<textarea name="txtbox" id="txtbox"></textarea></br></br>
<input type="button" value="Speichern" onclick="input.saveText(txtboxtitle.value, txtbox.value)"></input>
</div>
<applet code="editor.class" archive="editor.jar" width="300px" height="200px" id="input"> 

</body>
</html>

editor.class:
Java:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.io.*;
import java.util.*;
import java.text.*;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.FilePermission;
import java.security.Permission;
import java.net.*;
import java.rmi.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 15.08.2011
  * @author
  */
import javax.swing.JOptionPane;
public class editor extends Applet {
  // Anfang Attribute

  private TextField jLabel1 = new TextField();
  private JLabel jLabel2 = new JLabel();
  // Ende Attribute

  public void init() {

    Panel cp = new Panel(null);
    cp.setBounds(0, 0, 172, 300);
    add(cp);
    // Anfang Komponenten

    jLabel1.setBounds(16, 32, 81, 24);
    jLabel1.setText("jLabel1");
    cp.add(jLabel1);
    jLabel2.setBounds(32, 80, 44, 16);
    jLabel2.setText("jLabel2");
    jLabel2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    cp.add(jLabel2);
    // Ende Komponenten
    


    

  }
  public void saveText(String Title, String Text)
  {

        try
        {
            BufferedReader reader = new BufferedReader(new FileReader("C:\\Users\\Tim\\Desktop\\Heft\\data.txt"));
            JOptionPane.showMessageDialog(null,reader.readLine(),"Titel", JOptionPane.PLAIN_MESSAGE);
            reader.close();
            
            SimpleDateFormat formatter = new SimpleDateFormat ("yyMMdd");
            Date currentTime = new Date();
            
            FileWriter writer = new FileWriter(new File("C:\\Users\\Tim\\Desktop\\Heft\\data.txt"), true);
            writer.write(formatter.format(currentTime) + Title + ";");
            writer.close();
            JOptionPane.showMessageDialog(null,"Kein Icon","Titel", JOptionPane.PLAIN_MESSAGE);

        }
        catch(Exception e)
        {
            jLabel1.setText(getExceptionStackTraceAsString(e));
        }

  }
  
  // Anfang Methoden
  // Ende Methoden
  public static String getExceptionStackTraceAsString(Exception exception) {
  StringWriter sw = new StringWriter();
  exception.printStackTrace(new PrintWriter(sw));
  return sw.toString();
  }
  
  public static void alert(String text)
  {
       JOptionPane.showMessageDialog(null,text,"Titel", JOptionPane.PLAIN_MESSAGE);
  }
}

ich hab die jar noch mit angehängt. Wäre echt super nett wenn nochmal jemand drüber sehen könnte.

Viele Grüße
Peter
 

Anhänge

  • editor.jar
    3,2 KB · Aufrufe: 2

Michael...

Top Contributor
Ein paar grundsätzliche Anmerkungen:
- AWT und Swing Komponenten nicht gemeinsam in einem Layout verwenden als JApplet statt Applet, JTextField, statt TextField usw.
- LayoutManager verwenden: "Null" Layout ist unschön und kann Probleme bereiten. Wobei das in diesem Fall wohl egal ist

Dann zum Problem: Warum versuchst Du von außen (außerhalb des Applets) das Lesen und Schreiben anzustossen? Ich denke das macht die Probleme mit der AccessControlException, da ja das HTML Umfeld nicht zum unmittelbaren Kontext des Applets gehört.
Warum implementiertst Du den (J)Button nicht direkt im Applet, dann würde es sicherlich funktionieren.
Wenn man schon ein Applet macht, kann/sollte man doch die ganze GUI da reinpacken.

Generell bin ich aber immer noch davon überzeugt, dass da das ganze ja nur lokal und für Dich laufen soll, Du Dir mit einer reinen Applikation leichter tust.
 
N

nillehammer

Gast
Ich denke das macht die Probleme mit der AccessControlException, da ja das HTML Umfeld nicht zum unmittelbaren Kontext des Applets gehört.
Michael hat Recht. Auf dieser Seite steht's: What Applets Can and Cannot Do (The Java™ Tutorials > Deployment > Java Applets)
"Note: JavaScript code is treated like unsigned code. When a signed applet is accessed from JavaScript code in an HTML page, the applet is executed within the security sandbox. This implies that the signed applet essentially behaves likes an unsigned applet."
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Applet Verknüpfungsproblem Allgemeine Java-Themen 6
T Java Applet Berechtigungen Allgemeine Java-Themen 2
T 2D-Grafik Java Applet Rechtecke und Kreise Allgemeine Java-Themen 1
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
S Java Applet wird dauerhaft blockiert Allgemeine Java-Themen 1
T Java applet args Allgemeine Java-Themen 5
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
L Java Applet - ClassNotFound online, offline korrekt Allgemeine Java-Themen 13
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
T Java Applet in IE 8+9 Allgemeine Java-Themen 4
P Applet java 1.7 in Website einbinden ? Allgemeine Java-Themen 7
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
D JAVA Applet MVC? Allgemeine Java-Themen 2
T Java Application zu Applet Allgemeine Java-Themen 4
G java applet und com-port Allgemeine Java-Themen 7
W Java Applet läuft langsam Allgemeine Java-Themen 2
J Applet zum .java-Dateien auslesen/erstellen Allgemeine Java-Themen 5
S Applet in Java NetBeans Allgemeine Java-Themen 3
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
N Java Applet im eingeschränkten Benutzeraccount Allgemeine Java-Themen 10
L Problem mit Hintergrund bei JAVA Applet Allgemeine Java-Themen 27
Developer_X Java Applet - Font aus datei laden Allgemeine Java-Themen 15
W Applet notinited nach Java Versionsupdate Allgemeine Java-Themen 12
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
G Java Applet für VPN Allgemeine Java-Themen 2
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
F Java Print mit Applet einbinden Allgemeine Java-Themen 2
J Seltsame Exception beim Java Applet einbinden in Html Allgemeine Java-Themen 2
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
G weiteres Java Programm vom Applet aus starten? Allgemeine Java-Themen 9
M Java applet zusammen mit DHTML z-index Problem Allgemeine Java-Themen 2
P Java-Applet funktioniert nicht in HTML-Seite Allgemeine Java-Themen 3
H Java Applet Diagramm (Chart) Allgemeine Java-Themen 11
S Java Applet Gästebuch Allgemeine Java-Themen 1
G Java-Applet bzw. Browser schließen Allgemeine Java-Themen 3
T Java-Applet auf Doppelklick reagieren lassen Allgemeine Java-Themen 2
P Java Applet Allgemeine Java-Themen 6
H Applet - java.security.AccessControlException: access. Allgemeine Java-Themen 6
G java applet mit swing -> hundert prozent cpu auslastung Allgemeine Java-Themen 11
H Java/applet?/Xport/LED`s ansteuern Allgemeine Java-Themen 4
T Text aus Java-Applet kopieren. Allgemeine Java-Themen 14
G java! Problem mit Chat-Applet Allgemeine Java-Themen 3
J Java-Applet funktioniert nur als Administrator Allgemeine Java-Themen 6
S Java Applet im Browser laden Allgemeine Java-Themen 2
D Java Applet aus fertigem Programm Allgemeine Java-Themen 2
W Kleines Applet in Standard Java Applikation umwandeln Allgemeine Java-Themen 3
S Java Applet: digitales Schachbrett Allgemeine Java-Themen 7
A Die Java-Version des Clients in einem Java-Applet ermitteln Allgemeine Java-Themen 2
R Java Applet in Java Programm wandeln Allgemeine Java-Themen 4
G Wenn JAVA Applet nicht geladen werden kann -> Flash Allgemeine Java-Themen 4
F IE-Applet vs. Java Web Start Allgemeine Java-Themen 5
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17

Ähnliche Java Themen

Neue Themen


Oben