Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

HIILFE!!! (AccessControlException: access denied)

1 view
Skip to first unread message

Tom Döhler

unread,
Oct 24, 2000, 3:00:00 AM10/24/00
to
Hi,


ich habe ein Applet, welches über URL's mehrere Gif's aus dem selben
Verzeichnis laden soll, in dem auch das applet liegt.
Hier ein Ausschnitt:


URL uri = getCodeBase();
System.out.println(uri.toString());

try{
leer = new ImageIcon(new URL(uri,"leer.gif"));
rot = new ImageIcon(new URL(uri,"rot.gif"));
weiss = new ImageIcon(new URL(uri,"weis.gif"));
schwarz = new ImageIcon(new URL(uri,"schwarz.gif"));
}
catch(Exception e){System.out.println(e.toString());}

Lokal im Appletviewer läuft alles ohne Probleme, sobald ich allerdings
versuche
das Applet über den Webserver zu starten, erhalte ich folgende Fehlermeldung
in der Java-Console:

java.security.AccessControlException: access denied
(java.lang.RuntimePermission modifyThreadGroup)

at java.security.AccessControlContext.checkPermission(Unknown Source)

at java.security.AccessController.checkPermission(Unknown Source)

at java.lang.SecurityManager.checkPermission(Unknown Source)

at sun.applet.AppletSecurity.checkAccess(Unknown Source)

at java.lang.ThreadGroup.checkAccess(Unknown Source)

at java.lang.Thread.init(Unknown Source)

at java.lang.Thread.<init>(Unknown Source)

at javax.swing.TimerQueue.start(Unknown Source)

at javax.swing.TimerQueue.<init>(Unknown Source)

at javax.swing.TimerQueue.sharedInstance(Unknown Source)

at javax.swing.JApplet.<init>(Unknown Source)

at GoBangGui.<init>(GoBangGui.java:13)

at java.lang.Class.newInstance0(Native Method)

at java.lang.Class.newInstance(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)


Weis irgendjemand Rat???


BYE TOM


Andreas Senft

unread,
Oct 25, 2000, 2:18:13 AM10/25/00
to
"Tom Döhler" wrote:
>
[snip]

>
> Lokal im Appletviewer läuft alles ohne Probleme, sobald ich allerdings
> versuche
> das Applet über den Webserver zu starten, erhalte ich folgende Fehlermeldung
> in der Java-Console:
>
> java.security.AccessControlException: access denied
> (java.lang.RuntimePermission modifyThreadGroup)
>
[snip]

Der Unterschied zwischen Appletviewer und z.B. dem Webserver ist, daß
der Appletviewer keine Security checks macht.
Dein Problem tritt offensichtlich in einem Thread-Konstruktor auf. Also
mal sehen:
Die API-Doku zu den Thread-Konstruktoren mit ThreadGroup-Parameter sagt
unter anderem:
Throws:
SecurityException - if the current thread cannot create a thread
in the specified thread group.

Ich weiß jetzt nicht genau was dein Applet sonst noch so macht, aber das
scheint die Quelle deines Problems zu sein.

Hope that helps,
Andreas

Karl Huber

unread,
Nov 2, 2000, 12:24:08 PM11/2/00
to Tom Döhler
Hallo,

Java 2 ? Dann versuch doch einmal Dein Policy-File anzupassen
etwa:

grant codeBase "http://luckyhost/deinapplet" {
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.net.NetPermission "requestPasswordAuthentication";
permission java.io.SerializablePermission "enableSubclassImplementation";
};

oder radikal:

grant codeBase "file:${java.home}/lib/ext/*" {
permission java.security.AllPermission;
};

bzw. als codeBase die HTTP-URL setzen ...

- Karl

"Tom Döhler" wrote:

> Hi,
>
> ich habe ein Applet, welches über URL's mehrere Gif's aus dem selben
> Verzeichnis laden soll, in dem auch das applet liegt.
> Hier ein Ausschnitt:
>
> URL uri = getCodeBase();
> System.out.println(uri.toString());
>
> try{
> leer = new ImageIcon(new URL(uri,"leer.gif"));
> rot = new ImageIcon(new URL(uri,"rot.gif"));
> weiss = new ImageIcon(new URL(uri,"weis.gif"));
> schwarz = new ImageIcon(new URL(uri,"schwarz.gif"));
> }
> catch(Exception e){System.out.println(e.toString());}
>

0 new messages