I'm new about developing Java applets and I need some help.
I'm developing a Web Application based on JSPs and Tomcat in Netbeans.
I've also developed a Java Applet which its package has some classes.
This Applet connects to a Sybase Database (JConnect) in order to query
some information. It works fine when I run the Applet Class at
Netbeans.
The Jar containing this Applet (and the Jar supporting the DB driver)
is embedded into a JSP of my Web Application through JSP Plugin tag.
When I call for this JSP (where the Applet is embedded) I get this
error (at the Client Java Console):
java.security.AccessControlException: access denied
(java.net.SocketPermission ... 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 java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at java.net.InetSocketAddress.<init>(Unknown Source)
...
How can I fix it?
Regards
Please, please, please, please, please do not multi-post.
> java.security.AccessControlException: access denied
> (java.net.SocketPermission ... 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 java.net.InetAddress.getAllByName0(Unknown Source)
> at java.net.InetAddress.getAllByName(Unknown Source)
> at java.net.InetAddress.getAllByName(Unknown Source)
> at java.net.InetAddress.getByName(Unknown Source)
> at java.net.InetSocketAddress.<init>(Unknown Source)
> ...
>
>
> How can I fix it?
Sounds like you need to sign your applet.
--
Lew
An applet can with normal privs only connect to the same host as
it is downloaded from.
You can work around that by signing the applet.
You can do that for an intranet context.
You should not do that for an internet context.
Because everybody can decompile an applet
and read the Sybase username and password used to connect
and it is generally considered bad practice to make a database
server an edge server.
Arne