Hallo!
Auf einer Webseite habe ich auf zwei Seiten zwei unterschiedliche signierte Applets. Wenn ich den Browser starte, dem Ausführen von Applet1 zustimme, funktioniert alles einwandfrei. Das gleiche gilt für Applet2, sofern ich einen Browserneustart durchführe.
Starte ich allerdings Applet1 und danach Applet2 ohne Browserneustart bekomme ich für Applet2 folgende Exception und das Applet2 wird nicht gestartet:
Die Permissions erledige ich in beiden Applets wie folgt:
Gruß
Oliver
Auf einer Webseite habe ich auf zwei Seiten zwei unterschiedliche signierte Applets. Wenn ich den Browser starte, dem Ausführen von Applet1 zustimme, funktioniert alles einwandfrei. Das gleiche gilt für Applet2, sofern ich einen Browserneustart durchführe.
Starte ich allerdings Applet1 und danach Applet2 ohne Browserneustart bekomme ich für Applet2 folgende Exception und das Applet2 wird nicht gestartet:
Code:
java.lang.SecurityException: attempt to add a Permission to a readonly Permissions object
at java.security.Permissions.add(Unknown Source)
at package1.Applet1$1.getPermissions(Applet1.java:59)
at sun.plugin.security.PluginClassLoader.getPermissions(Unknown Source)
at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(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)
Die Permissions erledige ich in beiden Applets wie folgt:
Code:
try
{
Policy.setPolicy(new Policy()
{
Permissions perms = new Permissions();
public PermissionCollection getPermissions(CodeSource codesource) throws SecurityException
{
AllPermission grant = null;
grant = new AllPermission();
perms.add(grant);
return perms;
}
public void refresh() {
// Do nothing
}
});
}
catch (AccessControlException accex)
{
//...
}
catch (SecurityException secex)
{
//...
}
catch(Exception e)
{
//...
}
Gruß
Oliver