powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с правами в JavaFX-апплете
11 сообщений из 11, страница 1 из 1
Проблема с правами в JavaFX-апплете
    #38875014
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Помогите разобраться - делаю JavaFX приложение, подписываю (в т.ч. библиотеки), разворачиваю на веб-сервере. С клиента (JavaFX приложения) нужно обратиться к веб-сервису на веб-сервере. При запуске на рабочей станции всё работает, при запуске с веб-сервера (через браузер - embeded) получаю ошибки доступа:
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "com.ibm.ejs.ras.lite.traceFileName" "read")

Вместо обращения к веб-сервису пишу:
Код: java
1.
System.out.println("baaa3 = " + System.getProperty("user.dir"));


Ошибка таже (см. стек ниже).

Если в файле java.policy написать:
grant {
permission java.security.AllPermission;
}
то всё работает. jar-файл и библиотеки перед разворачиванием на веб-сервере подписываю (после этого меняется окно с вопросом о разрешении запуска).

Пробовал вызываемый код обернуть в AccessController.doPrivileged, не помогло:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    public String proc1() {
        return AccessController.doPrivileged(
            new PrivilegedAction<String>() {
                public String run() {
                	try {
            	    	System.out.println("baaa1");
            	    	log =  Logger.getLogger("logger_name_aaa");
            	    	System.out.println("baaa2 = " + log);
            	    	System.out.println("baaa3 = " + System.getProperty("user.dir"));
            	    	System.out.println("baaa4 = " + System.getProperty("java.class.path"));
            	    	System.out.println("baaa5 = " + System.getProperty("com.ibm.ejs.ras.lite.traceFileName"));	    	
            	    	System.out.println("baaa6");
            		} catch(Exception e) {
            			System.out.println("berr1");
            			e.printStackTrace(System.out);
            		}    	
                    return "";
                }
            }
        );
    }



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.dir" "read")
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at sun.plugin2.applet.FXAppletSecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
	at java.lang.System.getProperty(Unknown Source)
	at application.MainFormController$1.run(Unknown Source)
	at application.MainFormController$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at application.MainFormController.proc1(Unknown Source)
	at application.MainFormController.bPassInvalidCheckOnClick(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at sun.reflect.misc.Trampoline.invoke(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source)
	at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at javafx.event.Event.fireEvent(Unknown Source)
	at javafx.scene.Node.fireEvent(Unknown Source)
	at javafx.scene.control.Button.fire(Unknown Source)
	at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(Unknown Source)
	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown Source)
	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown Source)
	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at javafx.event.Event.fireEvent(Unknown Source)
	at javafx.scene.Scene$MouseHandler.process(Unknown Source)
	at javafx.scene.Scene$MouseHandler.access$1500(Unknown Source)
	at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
	at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
	at com.sun.glass.ui.View.notifyMouse(Unknown Source)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$141(Unknown Source)
	at com.sun.glass.ui.win.WinApplication$$Lambda$36/20085625.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875015
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При запуске на рабочей станции всё работает - имеется ввиду запуск jar-файла standalone.
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875082
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, всё правильно. Стандартные ограничения апплета. Вопрос какой?
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875089
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мне не изменяет склероз, то в Java 7 в двух апдейстах чего-то очень сильно намудрили с безопасностью и с тех пор даже подписаные апплеты не всегда имеют доступ.
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875359
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Ну собственно задача разворачивать (доставлять) приложение клиенту (пользователю) без внесения каких-либо изменений в рабочую станцию (кроме требования последней jre).
Я считал, что стандартные ограничения обходится подписанием апплета, но не выходит.
Помогите, как сделать, чтобы работало, без внесения изменений в java.policy?
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875360
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия jre1.8.0_25
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875380
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pulpBlazkowicz,

Ну собственно задача разворачивать (доставлять) приложение клиенту (пользователю) без внесения каких-либо изменений в рабочую станцию (кроме требования последней jre).
Я считал, что стандартные ограничения обходится подписанием апплета, но не выходит.
Помогите, как сделать, чтобы работало, без внесения изменений в java.policy?

Попробуйте сделать не апплет а JNLP приложение.
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875443
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
irbis_al,

Да тоже самое, не важно, как запускать, как апплет или вебстарт.

Код: html
1.
2.
3.
4.
5.
6.
7.
<body>
<h2>Test page for <b>RequestCFT</b></h2>
  <b>Webstart:</b> <a href='RequestCFT.jnlp' onclick="return launchApplication('RequestCFT.jnlp');">click to launch this app as webstart</a><br><hr><br>

  <!-- Applet will be inserted here -->
  <div id='RequestCFTApplet'></div>
</body>
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875469
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38875493
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Понятно, спасиб.
...
Рейтинг: 0 / 0
Проблема с правами в JavaFX-апплете
    #38881025
pulp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, попробовал достучаться до сервера через jax-rs, думал там клиент "тоньше" и не будет указанных выше проблем. Но проблема та же.
Как достучаться до сервера из JavaFX?

Пример jax-rs клиента. Используемые библиотеки:
jersey-client-1.16.jar
jersey-core-1.16.jar

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    	try {
	    	System.out.println("begin");
		Client client = Client.create();
		WebResource webResource = client.resource(getBaseURI()).path("hello").path("add").path("1").path("2");
		ClientResponse response = webResource.get(ClientResponse.class);
		if (response.getStatus() != 200) {
		   throw new RuntimeException("Failed : HTTP error code : "
			+ response.getStatus());
		}
		String output = response.getEntity(String.class);
		System.out.println("Output from Server .... \n");
		System.out.println(output);	    	
	    	
	    	System.out.println("end");
		} catch(Exception e) {
			System.out.println("err_u1");
			e.printStackTrace(System.out);
		}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "com.sun.jersey.core.util.ReaderWriter.BufferSize" "read")
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at sun.plugin2.applet.FXAppletSecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
	at java.lang.System.getProperty(Unknown Source)
	at com.sun.jersey.core.util.ReaderWriter.getBufferSize(ReaderWriter.java:91)
	at com.sun.jersey.core.util.ReaderWriter.<clinit>(ReaderWriter.java:87)
	... 84 more
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с правами в JavaFX-апплете
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]