Re: security && reflection

2006-07-21 Thread Kamil Podlesak

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]>



Re: security && reflection

2006-07-21 Thread Kamzik-II
Takze kdybych chtel zajistit 100% funkcnost, tak bych musel danou triud 
podepsat, a pak v implementaci pouzivat doPrivilleged, ze?



- Original Message - 
From: "Kamil Podlesak" <[EMAIL PROTECTED]>

To: "Java" 
Sent: Friday, July 21, 2006 10:05 AM
Subject: Re: security && reflection



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]>