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]
Re: security
Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
Dobry den, Nie som si isty ci JEE alebo JSE nieco maju, ale vsak si to mozete sam naprogramovat pomocou java reflection API. Martin Krajci Kamzik-II wrote: Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
RE: security
A nepomohlo by niečo takéto: SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkConnect(String host, int port); // napr. kontrola na socket } Bedo. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kamzik-II Sent: 20. júla 2006 13:10 To: Java Subject: Re: security Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
Podivejte se na JAAS, ta v sekci autorizace neco takoveho definuje. Souvisi to s Java sandboxem ktery je soucasti JVM a umoznuje omezit prostredi ve kterem aplikace bezi (zakazat nektere operace atp.). Vlastik Martin Krajci napsal(a): Dobry den, Nie som si isty ci JEE alebo JSE nieco maju, ale vsak si to mozete sam naprogramovat pomocou java reflection API. Martin Krajci Kamzik-II wrote: Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ -- Ing. Vlastimil EliasQbizm technologies, a.s. vedouci analytik... the art of software. www.qbizm-technologies.czwww.qbizm.cz www.qbizm-services.cz
Re: security
Takze bez nejakeho frameworku treti strany to nejde? Ale samozrejme, Acegi je zde naprosto zbytecny moloch. Jedina vyhoda jeho pouziti je, ze lze pomoci Spring AOP zadratovat kotrolu deklarativne, bez zmeny kodu. a to se vam zda malo?! Me se naopak zda jako naprosty moloch pouziti napriklad JAASu, ale evidentne je to vec nazoru... -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
Mohl byste uvest nejaky priklad? Tohle reseni by mozna bylo ono, ale nedovedu si predstavit realizaci, jak by to zhruba fungovalo? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 1:19 PM Subject: Re: security Dobry den, Nie som si isty ci JEE alebo JSE nieco maju, ale vsak si to mozete sam naprogramovat pomocou java reflection API. Martin Krajci Kamzik-II wrote: Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
No me se zda zbytecne tahat sebou nejakou dalsi knihovnu, kdyz se to da vyresit i jinak za spoluprace standartnich java api... - Original Message - From: Roman Pichlik [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 1:25 PM Subject: Re: security Takze bez nejakeho frameworku treti strany to nejde? Ale samozrejme, Acegi je zde naprosto zbytecny moloch. Jedina vyhoda jeho pouziti je, ze lze pomoci Spring AOP zadratovat kotrolu deklarativne, bez zmeny kodu. a to se vam zda malo?! Me se naopak zda jako naprosty moloch pouziti napriklad JAASu, ale evidentne je to vec nazoru... -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
No me se zda zbytecne tahat sebou nejakou dalsi knihovnu, kdyz se to da vyresit i jinak za spoluprace standartnich java api... To se samzorejme da, ale otazka je jestli to je tak efektivni a primocare. Kdyby se vsechno resilo pomoci standardnich API Javy, tak by tu nebyl zadny progress ve vyvoji Javy jako takove prikaldem budiz EJB 3.0. Ja vam nechci to ACEGI nijak vnucovat, ale prijde mi docela silne, ze si pomoci anotace/xdoclet tagu zadefinuju roli, ktera muze dany kod invokovat a o nic vic se nestarate. -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
RE: security
Presne tak som to myslel. Dagi-ho návrh na ACEGI bude určite komfortnejší a variabilnejší, takže otázka zostáva na čo to má byť použité. Pokiaľ to má byť viazané na prihláseného užívateľa, tak sa samozrejme SecurityManager nedá použiť. Bedo. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kamzik-II Sent: 20. júla 2006 13:42 To: Java Subject: Re: security Jakoze bych natvrdo odriznul lidi, co spousti aplikaci bez security manageru? - Original Message - From: Rastislav Siekel [EMAIL PROTECTED] To: 'Java' konference@java.cz Sent: Thursday, July 20, 2006 1:22 PM Subject: RE: security A nepomohlo by niečo takéto: SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkConnect(String host, int port); // napr. kontrola na socket } Bedo. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kamzik-II Sent: 20. júla 2006 13:10 To: Java Subject: Re: security Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
Roman Pichlik wrote: Takze bez nejakeho frameworku treti strany to nejde? Ale samozrejme, Acegi je zde naprosto zbytecny moloch. Jedina vyhoda jeho pouziti je, ze lze pomoci Spring AOP zadratovat kotrolu deklarativne, bez zmeny kodu. a to se vam zda malo?! Neni, Spring je uzitecna vec. Ale davat ho do aplikace jen tomuto? Zalezi na tom, kolik tech kontrol bude. Pokud jedna ci dve, tak je zbytecne kvuli tomu tam davat cely Spring, ne? A pouzit Acegi bez Springu mi prijde jako nesmysl. Me se naopak zda jako naprosty moloch pouziti napriklad JAASu, ale evidentne je to vec nazoru... JAAS je samozrejme jeste horsi a hlavne resi neco trochu jineho: autentikaci a autorizaci uzivatelu. Zatimco puvodni tazatek chtel (pokud to dobre chapu) resit prava aplikace, tedy sandbox. Doporucuji precist si neco o bezpecnostnim/sandbox modelu v Jave - tedy to co drive (Java 1) byval SecurityManager (udrzovan jen jako wrapper pro ucely kompatability) a pozdeji (Java 2, to uz je dost dlouho) nahrazeno AccessController/Permission. Napriklad: http://www.securingjava.com/chapter-three/chapter-three-7.html Nebo primo dokumentace k JDK, pripadne dalsi dokumenty na strankach SUNu. -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Kamzik-II wrote: Takze by pak vlastne stacilo napsat public interface, package private tridu s implementaci a pak jenom napsat verejnej decorator, kterej by filtroval ty prava? Mozna by to chtelo se poradne rozepsat, podle ceho vlastne chcete ta prava posuzovat a jaka to budou. Mozna ze jsem se svymi radami zcela mimo misu... -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
No melo by to byt vazane na prihlaseneho uzivatele, ja sem prave mel vizi, ze by to mohlo byt realizovane prave pomoci security manageru, a pomoci jaas by se danej uzivatel jenom autorizoval. Jestli jsem autorizaci pochopil spravne, tak proste jenom prida prava pouzite aplikaci, ne? Takze by to takhle melo jit... - Original Message - From: Rastislav Siekel [EMAIL PROTECTED] To: 'Java' konference@java.cz Sent: Thursday, July 20, 2006 1:58 PM Subject: RE: security Presne tak som to myslel. Dagi-ho návrh na ACEGI bude určite komfortnejší a variabilnejší, takže otázka zostáva na čo to má byť použité. Pokiaľ to má byť viazané na prihláseného užívateľa, tak sa samozrejme SecurityManager nedá použiť. Bedo. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kamzik-II Sent: 20. júla 2006 13:42 To: Java Subject: Re: security Jakoze bych natvrdo odriznul lidi, co spousti aplikaci bez security manageru? - Original Message - From: Rastislav Siekel [EMAIL PROTECTED] To: 'Java' konference@java.cz Sent: Thursday, July 20, 2006 1:22 PM Subject: RE: security A nepomohlo by niečo takéto: SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkConnect(String host, int port); // napr. kontrola na socket } Bedo. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kamzik-II Sent: 20. júla 2006 13:10 To: Java Subject: Re: security Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
Kdyz uz jsme u toho sandboxu, tak ten je mi celkem jasnej, ale zajimalo by me jak se resi to, aby se aplikace dala spustit jenom v omezenem modu, to by se resilo pres zavislost na securitymanageru? - Original Message - From: Kamil Podlesak [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 1:57 PM Subject: Re: security Roman Pichlik wrote: Takze bez nejakeho frameworku treti strany to nejde? Ale samozrejme, Acegi je zde naprosto zbytecny moloch. Jedina vyhoda jeho pouziti je, ze lze pomoci Spring AOP zadratovat kotrolu deklarativne, bez zmeny kodu. a to se vam zda malo?! Neni, Spring je uzitecna vec. Ale davat ho do aplikace jen tomuto? Zalezi na tom, kolik tech kontrol bude. Pokud jedna ci dve, tak je zbytecne kvuli tomu tam davat cely Spring, ne? A pouzit Acegi bez Springu mi prijde jako nesmysl. Me se naopak zda jako naprosty moloch pouziti napriklad JAASu, ale evidentne je to vec nazoru... JAAS je samozrejme jeste horsi a hlavne resi neco trochu jineho: autentikaci a autorizaci uzivatelu. Zatimco puvodni tazatek chtel (pokud to dobre chapu) resit prava aplikace, tedy sandbox. Doporucuji precist si neco o bezpecnostnim/sandbox modelu v Jave - tedy to co drive (Java 1) byval SecurityManager (udrzovan jen jako wrapper pro ucely kompatability) a pozdeji (Java 2, to uz je dost dlouho) nahrazeno AccessController/Permission. Napriklad: http://www.securingjava.com/chapter-three/chapter-three-7.html Nebo primo dokumentace k JDK, pripadne dalsi dokumenty na strankach SUNu. -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Kamzik-II wrote: No melo by to byt vazane na prihlaseneho uzivatele, ja sem prave mel vizi, ze by to mohlo byt realizovane prave pomoci security manageru, a pomoci jaas by se danej uzivatel jenom autorizoval. Jestli jsem autorizaci pochopil spravne, tak proste jenom prida prava pouzite aplikaci, ne? Takze by to takhle melo jit... Aha, tak to jste to pochopil spatne, prava aplikace jsou neco uplne jineho. Acegi je asi nejlepsi rada, pouziti samotneho JAAS je velmi neprakticke (hodne prace s psanim kodu okolo, konfigurace se ani neda korektne ohodnotit bez vulgarnich vyrazu). -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Dobre, takze melo by jit defacto treba o odebirani clanku, takze je to zalozene na prihlasovani uzivatele a na kontrole jeho pristupovych prav. Slo mi vlastne jenom o to, jestli si musim v implementaci kazde tridy, psat overovani, nebo jestli by nestacilo, jenom nejak vyuzit standartnich Permission-based reseni. - Original Message - From: Kamil Podlesak [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 2:02 PM Subject: Re: security Kamzik-II wrote: Takze by pak vlastne stacilo napsat public interface, package private tridu s implementaci a pak jenom napsat verejnej decorator, kterej by filtroval ty prava? Mozna by to chtelo se poradne rozepsat, podle ceho vlastne chcete ta prava posuzovat a jaka to budou. Mozna ze jsem se svymi radami zcela mimo misu... -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
No ja jsem si to acegi stahnul a vicemene mi to prislo strasne chaoticke, abych pravdu rekl, tak ten tutorial mi prave vubec neprisel jako tutorial, ale jako pokus o nacpeme tam teho co nejvic, aby lidi videli, ze je to cool :) - Original Message - From: Kamil Podlesak [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 2:09 PM Subject: Re: security Kamzik-II wrote: No melo by to byt vazane na prihlaseneho uzivatele, ja sem prave mel vizi, ze by to mohlo byt realizovane prave pomoci security manageru, a pomoci jaas by se danej uzivatel jenom autorizoval. Jestli jsem autorizaci pochopil spravne, tak proste jenom prida prava pouzite aplikaci, ne? Takze by to takhle melo jit... Aha, tak to jste to pochopil spatne, prava aplikace jsou neco uplne jineho. Acegi je asi nejlepsi rada, pouziti samotneho JAAS je velmi neprakticke (hodne prace s psanim kodu okolo, konfigurace se ani neda korektne ohodnotit bez vulgarnich vyrazu). -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Kamzik-II wrote: Kdyz uz jsme u toho sandboxu, tak ten je mi celkem jasnej, ale zajimalo by me jak se resi to, aby se aplikace dala spustit jenom v omezenem modu, to by se resilo pres zavislost na securitymanageru? Prava prirazena kodu se konfiguruji v JRE podle umisteni (umisteni JARu/adresare) nebo podle certifikatu kterym je JAR podepsan. Prava jsou prirazena kodu, nikoliv aplikaci (v ramci aplikace muze mit kod ruzna prava). Konfigurace je v JRE, systemovy uzivatel ale muze mit vlastni. Vice viz odkazy, ktere jsem daval (neni toho malo a navic je to evidentne neco jineho nez potrebujete). Napriklad: http://www.securingjava.com/chapter-three/chapter-three-7.html Nebo primo dokumentace k JDK, pripadne dalsi dokumenty na strankach SUNu. -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Prava jsou prirazena kodu. Tomu mam rozumet jakoze pokud bych mel v aplikace trusted knihovnu, tak bych pres ni mohl delat bordel i kdyz muj kod neni trusted? - Original Message - From: Kamil Podlesak [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 2:15 PM Subject: Re: security Kamzik-II wrote: Kdyz uz jsme u toho sandboxu, tak ten je mi celkem jasnej, ale zajimalo by me jak se resi to, aby se aplikace dala spustit jenom v omezenem modu, to by se resilo pres zavislost na securitymanageru? Prava prirazena kodu se konfiguruji v JRE podle umisteni (umisteni JARu/adresare) nebo podle certifikatu kterym je JAR podepsan. Prava jsou prirazena kodu, nikoliv aplikaci (v ramci aplikace muze mit kod ruzna prava). Konfigurace je v JRE, systemovy uzivatel ale muze mit vlastni. Vice viz odkazy, ktere jsem daval (neni toho malo a navic je to evidentne neco jineho nez potrebujete). Napriklad: http://www.securingjava.com/chapter-three/chapter-three-7.html Nebo primo dokumentace k JDK, pripadne dalsi dokumenty na strankach SUNu. -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Kamzik-II wrote: Prava jsou prirazena kodu. Tomu mam rozumet jakoze pokud bych mel v aplikace trusted knihovnu, tak bych pres ni mohl delat bordel i kdyz muj kod neni trusted? S tim se samozrejme pocita (koneckoncu, standardni knihovna je zcela trusted). Efektivni prava v koamziku kontroly jsou prunikem prav vseho kodu na zasobniku. Takze to pak vypada zasobnik napriklad takto: UntrustableApp.main(): omezena prava, nema pravo BordelPermission TrustableLibrary.doBordel() : plna prava, tedy vcerne BordelPermission AccessController.checkPermission(new BordelPermission()) : zjisti prunik, pravo nema, vyjimka Pokud trusted kod potrebuje provest neco na co volajici nemusi mit prava a je si jisty ze je to OK (napriklad precist konfigurak, ktery je jinak duverny a apletum skryty), muze pouzit AccessController.doPrivileged() metody. -- Kamil Podlesak [EMAIL PROTECTED]
Re: security
Dobry den, Skusil som to nacrtnut ako by to mohlo byt riesene cez reflection API, ale pripominam ze trebalo by tam viacej veci podotahovat, hlavne teda krajsie vytvaranie instancii (Foo) a implementovat isUserInRole, ale princip je tam zachyteny. Osobne by som sa priklonil za to Acegi ako sme to tu uz viac krat spominali. code import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class MethodInvoker { public static void main(String[] argv) { MethodInvoker mi = new MethodInvoker(); mi.test(); } public void test() { InvocationHandler handler = new FacadeInvocationHandler(new Foo()); IFoo f = (IFoo) Proxy.newProxyInstance(Foo.class.getClassLoader(), new Class[] { IFoo.class }, handler); f.call(); } /** * Very simple facade which delegates all calls to a target object. */ private static class FacadeInvocationHandler implements InvocationHandler { Object facaded; public FacadeInvocationHandler(Object facaded) { this.facaded = facaded; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if(isUserInRole()) { return method.invoke(facaded, args); } else { return null; } } } private static boolean isUserInRole() { return true; } interface IFoo { public void call(); } class Foo implements IFoo { public void call() { System.out.print(Called); } } } /code Martin Krajci Kamzik-II wrote: Mohl byste uvest nejaky priklad? Tohle reseni by mozna bylo ono, ale nedovedu si predstavit realizaci, jak by to zhruba fungovalo? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 1:19 PM Subject: Re: security Dobry den, Nie som si isty ci JEE alebo JSE nieco maju, ale vsak si to mozete sam naprogramovat pomocou java reflection API. Martin Krajci Kamzik-II wrote: Takze bez nejakeho frameworku treti strany to nejde? - Original Message - From: Martin Krajci [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 10:43 AM Subject: Re: security Dobry den, Pozrite si http://www.acegisecurity.org/ a konkretne 'method invocation security'. Acegi sa da pouzit aj bez Springu aby ste toho nemali na zaciatok moc. Martin Krajci Kamzik-II wrote: Zdravicko lidi, Potreboval byh poradit :) Rekneme, ze mam tridu Xyz, která obsahuje mimo jiné i metodu necoUdelej. Treba takhle: public class Xyz { public void necoUdelej () { System.out.println ( Hotovo ); } } A potreboval bych nejak zajistit, aby se ta metoda provedla jenom pokud je pouzita v aplikaci, ktera je spustena, s nejakymi pravy, jinak aby vyhodila SecurityException... __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: security
Kamzik-II wrote: Aha, takze normalne to nejde, ale pokud by ta knihovna mela nejakej zajem poskytnout to i netrusted aplikaci, tak proste bude soucasti implementace volani doTrusted? Pochopil jsem to spravne? A vse probehne zcela v poradku a bez vyjimky, kdezto pokud by tam nebylo AccessController.doPrivileged(), taky by nastala vyjimka, je to tak? :) Ano. Tomu doPrivileged se jako parametr preda objekt s tim kodem (neco jako Runnable) a JVM na nem zavola metodu run() s takovymi pravy, jaka ma primy volajici (TrustedClass). -- Kamil Podlesak [EMAIL PROTECTED] inSITE, s.r.o.
Re: security
Dobry, uz jsem zacal mit pochybnosti o bezpecnosti knihoven :) Ok, tak diky za osvetleni - Original Message - From: Kamil Podlesak [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, July 20, 2006 4:49 PM Subject: Re: security Kamzik-II wrote: Aha, takze normalne to nejde, ale pokud by ta knihovna mela nejakej zajem poskytnout to i netrusted aplikaci, tak proste bude soucasti implementace volani doTrusted? Pochopil jsem to spravne? A vse probehne zcela v poradku a bez vyjimky, kdezto pokud by tam nebylo AccessController.doPrivileged(), taky by nastala vyjimka, je to tak? :) Ano. Tomu doPrivileged se jako parametr preda objekt s tim kodem (neco jako Runnable) a JVM na nem zavola metodu run() s takovymi pravy, jaka ma primy volajici (TrustedClass). -- Kamil Podlesak [EMAIL PROTECTED] inSITE, s.r.o.