• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

java.security. AccessControlException

 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm running Tomcat 4. I've written an applet which talks to a servlet:
URL myConnection = new URL("http://joelhost:8080/portfolio/servlet/ +
testsend);
URLConnection myConn = myConnection.openConnection();
It works fine when I run it the same machine (A). But when I try to run the applet from machine (B), I get the following messages:
java.security.AccessControlException: access denied (java.net.SocketPermission joelhost:8080 connect,resolve)
at java.security.AccessControlContext.
checkPermission (AccessControlContext.java:270)
at java.security. AccessController.
checkPermission (AccessController.java:401)
at java.lang. SecurityManager.
checkPermission (SecurityManager.java:542)
at java.lang. SecurityManager.
checkConnect (SecurityManager.java:1044)
at sun.plugin. net.protocol.http.
HttpURLConnection. checkPermission
(HttpURLConnection. java:203)
at sun.plugin.net. protocol.http.
HttpURLConnection.connect
(HttpURLConnection.java:147)
at sun.plugin. net.protocol.
http.HttpURLConnection. getInputStream
(HttpURLConnection. java:375)
at portfolio. acctSetup.<init>
(acctSetup.java:154)
at myApp.jbInit (myApp.java:76)
at myApp.init (myApp.java:40)
at sun.applet. AppletPanel.run (AppletPanel.java:347)
at java.lang.Thread.run (Thread.java:536)
I've made the following entry in catalina.policy
grant codeBase "file:${catalina.home}/webapps/portfolio +
/WEB-INF/classes/-" {
permission java.net.SocketPermission "joelhost", "connect";
Any ideas out there?
 
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi Joel,


I've made the following entry in catalina.policy


but are not these changes applied to only the local machine where the tomcat is running? in that case it will replace only local java.policy file where the tomcat is residing but if you want to access the applet from another machine then the java.policy file on THAT machine (from where you are running the applet) should be changed to grant the permissions, right??
please let me know if i misunderstood your question or sound dumb on the X'Mas morning
regards
maulin
 
Joel Cohen
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I don't think I should have to change the Java policy file on machine B.
Anyway, I've put the problem aside for now. I'm developing the program using JSP's and servlets instead of applets. Keeps it thinner.
 
Maulin Vasavada
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi joel,

i thought so because its the local machine who is trying to run the applet. so it must be the local machine adminstrator who should be able to specify the access rights etc you know. catalina.policy is a server side configuration , right?
so server A can't say that on Machine B some applet can do "delete *.*" you know
please let me know when you found a solution to your problem. i'm more interested because i have never used (or didn't know about catalina.policy file till this moment) catalina.policy file....
regards
maulin
 
Maulin Vasavada
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi Joel,
any progress on the issue?
thanks
maulin
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Maulin:
I saw your respond to Joel and I decided to ask you to help us;
if an applet,which is deployed on Server1 and a client of Server1 access that applet, on a certain condition this applet invokes a servlet from Server2(remember applet is deployed on server1) then a scoket exception occures... following is the code of applet which is deployed on Server1
try {
URL dataURL = null;
URLConnection connection = null;
dataURL = new URL("http://Server2:8080/cFAS/servlet/ServletOpnControl");
System.out.println("...." + dataURL.toString());
connection = dataURL.openConnection();
ObjectInputStream in = new ObjectInputStream(connection.getInputStream());
String[] data1 = (String[]) in.readObject();
in.close();
} catch (Exception mue) {
System.out.println("exc..."+mue);
}
here is the exception:
java.security.AccessControlException: access denied (java.net.SocketPermission Server2:8080 connect,resolve)
Thanks in advance
 
Think of how dumb the average person is. Mathematically, half of them are EVEN DUMBER. Smart tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic