Osadzanie apletów Java

0

Jak osadza się aplety Java z dodatkowymi bibliotekami?
W projekcie w Eclipsie dołączyłem dodatkowe biblioteki z których korzystałem do napisania programu i wszystko działa ok dopóki uruchamiam ten program w Eclipsie w Applet Viewer. Jednak kiedy osadziłem go na stronie html to już jest coś nie tak, uruchamia się program ale już nie działa tak jak w Applet Viewer - po uruchomieniu apletu powinno wyskoczyć okienko z logowaniem (obiekt ten znajduje sie właśnie w klasie z dodatkowych bibliotek).
A o to kod html:

<applet archive="motor.jar, s7api.jar, s7util.jar, s7gui.jar" code="pl.controller.test.MotorControl.class"
      width=500 height=100 />

s7api.jar, s7util.jar, s7gui.jar- to biblioteki które dołączyłem do projektu.

0

A aplet podpisany?

0

otworz konsole javy i sprawdz jaki bład wyskakuje
prawy przycisk na ikonke javy w traybarze

0

w konsoli dostaje takie błędy:

[0013:828] Error: [S7DeviceSys[192.168.1.143:80][R=0,S=0]] doOnS7Connection: itSDBSysCall throws exception: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.143:80 connect,resolve)
[0013:828] Error: [S7DeviceSys[192.168.1.143:80][R=0,S=0]] doOnS7Exception: Exception: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.143:80 connect,resolve)
[0013:829] Error: [S7DeviceSys[192.168.1.143:80][R=0,S=0]] doOnS7Exception: domainNameCall throws domain exception: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.143:80 connect,resolve) from: S7NetAddress[host=192.168.1.143:80,rack=0,slot=0]
[0013:829] Error: [S7DeviceSys[192.168.1.143:80][R=0,S=0]] doOnS7Exception: Exception: java.lang.RuntimeException: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.143:80 connect,resolve)
[0013:829] Error: [S7DeviceSys[192.168.1.143:80][R=0,S=0]] doOnS7Exception: domainNameCall throws domain exception: java.lang.RuntimeException: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.143:80 connect,resolve) from: S7NetAddress[host=192.168.1.143:80,rack=0,slot=0]
[0013:829] Error: [CPRightsTable[size=0]] propertyChange: Fire CPRightsTableError: domainDataException
[0013:830] Error: [S7CP(1)[192.168.1.143:80]] propertyChange: Table of user rights not available!!!
[0013:831] Error: [S7Device(1)[192.168.1.143:80][R=0,S=1]] propertyChange: Table of user rights not available!!!
[0013:831] Error: [s7variable_1[ANY[P#0x83 7.1 BOOL 1]]] propertyChange: Table of user rights is not available!!!
[0013:833] Error: [s7variable_2[ANY[P#0x83 7.2 BOOL 1]]] propertyChange: Table of user rights is not available!!!
[0013:833] Error: [s7variable_3[ANY[P#0x84 25.0 WORD 1]]] propertyChange: Table of user rights is not available!!!
[0013:833] Error: [S7Device(1)[192.168.1.143:80][R=0,S=1]] propertyChange: Table of user rights not available!!!
[0013:833] Error: [s7variable_1[ANY[P#0x83 7.1 BOOL 1]]] propertyChange: Table of user rights is not available!!!
[0013:833] Error: [s7variable_2[ANY[P#0x83 7.2 BOOL 1]]] propertyChange: Table of user rights is not available!!!
[0013:833] Error: [s7variable_3[ANY[P#0x84 25.0 WORD 1]]] propertyChange: Table of user rights is not available!!!
[0013:833] Error: [s7variable_1[ANY[P#0x83 7.1 BOOL 1]]] propertyChange: Table of user rights is not available!!!
[0013:834] Error: [s7variable_2[ANY[P#0x83 7.2 BOOL 1]]] propertyChange: Table of user rights is not available!!!
[0013:834] Error: [s7variable_3[ANY[P#0x84 25.0 WORD 1]]] propertyChange: Table of user rights is not available!!!
[0013:834] Error: [S7DeviceSys[192.168.1.143:80][R=0,S=0]] doOnS7Exception: Exception: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.1.143:80 connect,resolve)

Cały czas o zabronionym dostępie, ale dziwne bo jak już wcześniej wspomniałem gdy uruchamiam w Applet Viewer to nie dostaje takich błędów, wszystko działa dobrze.
Dodam jeszcze że jest to program wykorzystujący biblioteki Siemensa do komunikacji z ich urządzeniem.

0

Rozumiem że mój post olałeś bo go nie rozumiesz? Uruchamiając w Eclipse masz inne granty bo uruchamiasz to jak aplikację. Po deployowaniu na stronce musisz mieć podpisany aplet do takich cudów. Inaczej mógłbyś zrobić aplet który na przykład nabijałby komuś transfer internetowy, albo wysyłał spamerskie maile, albo robił tysiąc innych złośliwych rzeczy, skoro mógłby nawiązywać połączenia socketami z poziomu komputera użytkownika.

0

czyli nie ma możliwości żeby osadzonym apletem mógł wysyłać dane w swojej sieci lokalnej? Jest zatem jakiś inny sposób żeby ten applet (albo jako aplikacje-okienko) uruchamiać na takich uprawnieniach aby było to możliwe?

edit. ok poradziłem już sobie z tym, dowiedziałem się jak podpisać aplet ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1