hali!
egy java rmi-vel működő kis alkalmazást próbálgatok összerakni, de sehogysem sikerül. Leszedtem egy rövid példaprogramot a netről, beraktam Eclipse projektbe, hibátlanul lefordul. Ezután elindítom az rmiregistry-t, majd megpróbálom futtatni a program szerver részét. Ekkor az alábbi sorban:
Naming.rebind("SAMPLE-SERVER" , Server);
ezt a hibát kapom:
Exception in thread "main" java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
van valakinek esetleg ötlete, hogy miért kapom ez a hibaüzenetet? az rmiregistry fut, az eclipse nem ad fordítási hibát, nem értem, hogy mi lehet...
kösz:
JJ
- 3947 megtekintés
Hozzászólások
kell csinálni egy java.policy fájlt a következő tartalommal
grant {
permission java.net.SocketPermission "*:1024-", "accept, connect, listen, resolve";
};
grant {
permission java.net.SocketPermission "*:80", "connect";
};
a 80-as portra csatlakozás akkor kellhet ha http-n keresztül akarod az rmi kliens stubot áthúzni.
majd ezután ezt be kell tölteni. Ha resource fájlként akarod használni, akkor a következő pár sor a barátod:
ClassLoader cl = getClass().getClassLoader();
URL policyURL = cl.getResource("java.policy");
System.setProperty("java.security.policy", policyURL.toString());
System.setSecurityManager(new RMISecurityManager());
üdv
hege
- A hozzászóláshoz be kell jelentkezni
a policy fájlt létrehoztam, de amikor a fenti kódot a main()-be illesztem, akkor kiír egy hibát a
ClassLoader cl = getClass().getClassLoader();
sorra, ami szerint: Cannot make a static reference to the non-static method getClass() from the type Object
erre mit tudok tenni?
előre is köszi!
- A hozzászóláshoz be kell jelentkezni
most kipróbáltam egy másik variációt is, ezt a sort írtam be:
SocketPermission p1 = new SocketPermission("127.0.0.1:1099", "accept,connect,listen,resolve");
de sajnos semmi eredmény...
- A hozzászóláshoz be kell jelentkezni
Ne a mainből használd. A main() ugyanis statikus metódus (mi más lehetne), a getClass() -t pedig csak példányosított objektumon tudod használni. Legegyszerűbb megoldás, ha az alkalmazásod main-jéből egyszerűen hívsz egy new Application -t és az Application konstrukturában mókolsz tovább. Persze ez nem valami túl szofisztikált megoldás, de elsőre megteszi.
üdv
hege
- A hozzászóláshoz be kell jelentkezni
Sziasztok
Bocs hogy beleszólok más topicjába csak emiatt nem akartam újat nyitni ugyanis hasonló a hiba
Azzal a különbséggel hogy nekem Windows-on produkál hasonló hibát (Linuxon még nem is frissitettem a javat) és a chat.gyaloglo.hu oldallal
A hibaüzenet
access denied ("java.net.SocketPermission"" 195.56.241.4:8888"" connect,resolve")
A 195.56.241.4 a whois szerint a szolgáltatóm szervere- vps-C338F104.magex.hu - nem a gyaloglo-é
A Vezérlőpult - Java - Security tabnál a
Security Level High-on van, az Exeption site listbe bele van téve a http://chat.gyaloglo.hu
kösz a válaszokat
- A hozzászóláshoz be kell jelentkezni
SecurityLevel-t low-ra állítva megy?
Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.
- A hozzászóláshoz be kell jelentkezni
Szia Zoltán
Csak High és Very High lehetőség van, Low nincs
Win7
- A hozzászóláshoz be kell jelentkezni
A 195.56.241.4 reverse dns-e azóta már chat.gyaloglo.hu, de nem tudom, hogy ez változtat-e bármin is.
- A hozzászóláshoz be kell jelentkezni
Köszi, közben erre már rájöttem mert felhívtam a magex.hu oldalt, ahol megmondták hogy ők hostolják a gyaloglót. És véletlenül az én szolgáltatóm is a GTS azért gondoltam hogy a saját szolgáltató a hibás.
A hiba viszont vltozatlanul fennáll, a java a legújabb, 8 Update 31
Még azt tanácsolták hogy http helyett https-t is írjak be a Java/Security/Exeption Site List-be
Esetleg irjak be IP címet, esetleg portszámmal?
Vagy írjak az üzemeltetőnek?:)
- A hozzászóláshoz be kell jelentkezni
Sajnos 8-as Javaval ez már nem fog többet működni.
Sandbox módban nincs tovább lehetőség socketek használatára.
A Gyaloglónak viszont a "béta" nevű kliense rendelkezik aláírással és így nem csak sandboxban tud futni és tud csatlakozni a szerveréhez. Ha belépéskor azt választod, működni fog.
Másik megoldás, hogy a Javat downgrade-elni kell 7-re.
- A hozzászóláshoz be kell jelentkezni
Mondjuk 2015-ben java appletet hasznalni igen eros. Legtobb embernek mar java plugin-je sincs. Ami azt illeti, lassan mar NSAPI se lesz.
- A hozzászóláshoz be kell jelentkezni
"Mondjuk 2015-ben java appletet hasznalni igen eros. "
Régen a CIB internetbank is java applet-ként futott, megnéztem és most is
- A hozzászóláshoz be kell jelentkezni
Azért van egy pici featureset különbség egy chat és egy internetbank között, ha újra kell implementálni a funkcionalitást... :)
...de ettől eltekintve valóban problémás az Applet 2015-ben. :)
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
hehh, ezek a +1 -ek teljesen véletlen posztolódtak ide, wtf :) mondjuk amúgy egyetértek :D
- A hozzászóláshoz be kell jelentkezni
Az o bajuk, kismillio bank van, kb. ugyanazt adjak, valassz olyat, ami nem szopo.
- A hozzászóláshoz be kell jelentkezni
rescu köszönöm a választ, béta klienssel bejött
De régebben - úgy értem fél éve - amióta ujra használgatom, állandóan pont a legújabb verzióra kellett frissíteni ahhoz hogy működjön, akkor más volt a hibaüzenet, nem emlékszem hogy mi
A 7-re downgrade az biztonsági kockázat, nem?
kösz
- A hozzászóláshoz be kell jelentkezni
EGYELŐRE még nem, ha jól emélkszem áprilisig még kap frissítéseket. Inkább ne.
Amúgy találkoztam már egész kulturált Java applettel, ami ugyan applet-ként nem volt hajlandó futni, de volt a csomagban egy alkalmazásként futtatható osztály [ráadásul manifestben szépen megjelölve], úgyhogy letöltve az archívot szépen elfutott - dekstop alkalmazásként. Egy próbát megér. Árulkodó jel: a Jar manifest-ben (META-INF/MANIFEST.MF, ha jól emlékszem) van egy Main-Class: Lorem.Ipsum sor.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
7-essel a többi a Gyalogló többi változatának is mennie kell, ha a security exception site listen rajta van a chat.gyaloglo.hu
Ha nincs, akkor 7-essel és 8-assal is a "béta" nevűnek mennie kell (tehát nem kell downgrade sem), ha az aláírást elfogadod.
Sajnos ezekhez az appletekhez nincs desktop alkalmazásként futtatható osztály.
- A hozzászóláshoz be kell jelentkezni