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

Java Applets connecting to Databases: access denied (java.net.SocketPermission ... resolve)

4 views
Skip to first unread message

carrilh...@gmail.com

unread,
Oct 14, 2007, 4:00:41 PM10/14/07
to
Hi folks,

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

Lew

unread,
Oct 14, 2007, 4:40:53 PM10/14/07
to
carrilh...@gmail.com wrote:
> I'm new about developing Java applets and I need some help.

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

Arne Vajhøj

unread,
Oct 14, 2007, 5:04:10 PM10/14/07
to
carrilh...@gmail.com wrote:
> 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)

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

0 new messages