Kamzik-II wrote:
No tak mel bych jeste jeden dotaz co se tyce bezpecnosti, ted to
trosku souvisi s reflection api. Jde mi o to, jestli musi normalni
aplikace mit nejaka specialni prava, aby mohla provadet unsafe operace
s promennymi objektu.
Pri normalnim pouzivani reflection se kontroluje zapouzdreni (private,
protected) beznym zpusobem. Tuto kontrolu lze vypnout metodou
setAccessible(true) (ve tride AccessibleObject, od ktere dedni Method,
Constructor i Field). Tato metoda kontroluje permission
java.lang.reflect.ReflectPermission(suppressAccessChecks).
Jako normalne mi to na desktopu funguje, v klidu menim jakekoliv
pormenne, vcetne private, ale zajima me, jestli to bude fungovat vzdy,
a pripadne kdy to fungovat nebude...
JRE knihovna pouziva pro interni kontrolu prav
System.getSecurityManager(). To je predevsim z duvodu zpetne
kompatability, ale take to umoznuje vsechny tyto kontroly vypnout.
Defaultne spustena aplikace totiz zadny security manager nema a vsechny
tyto kontroly se preskakuji (viz napr. zdrojovy kod
AccessibleObject.setAccessible()). To je logicke, sandbox je na desktopu
(a vetsinou i na serveru) zbytecny, spoleha se na operacni system.
--
Kamil Podlesak [EMAIL PROTECTED]