Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > JDBC, security policy - не запускается апплет


Автор: Cross 23.9.2010, 01:05
Здравствуйте! 

У меня проблема с Java-апплетом. Он берет данные из БД и строит по ним графики функций. 

При запуске на локальном сервере он работает, а попробовала удаленно запустить - не пашет. 

Java Console выдаёт следующее:

Код

org.postgresql.util.PSQLException: Your security policy has prevented the connection from being attempted.  You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to.
    at org.postgresql.Driver.connect(Driver.java:275)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at japp.getConnect(japp.java:91)
    at japp.getAxis(japp.java:117)
    at japp.start(japp.java:72)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:5432 connect,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 sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at org.postgresql.core.PGStream.<init>(PGStream.java:62)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:77)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
    at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:386)
    at org.postgresql.Driver.connect(Driver.java:260)
    ... 7 more


Понятно, что проблема видимо с сервером Tomcat или с настройками самой JRE. Но как их решить - даже не представляю. 

Помогите пожалуйста, буду очень признательна. Сама разобраться уже отчаялась :( 

Автор: Cross 23.9.2010, 01:41
проблему решила. 

Прописала в java.policy правило:

permission java.net.SocketPermission "127.0.0.1:5432","resolve,connect";

Надеюсь кому-то пригодится smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)