„Szoftverfejlesztés J2EE platformon - Security” változatai közötti eltérés
a David14 átnevezte a(z) Java EE Security lapot a következő névre: Szoftverfejlesztés J2EE platformon - Security |
aNincs szerkesztési összefoglaló |
||
1. sor: | 1. sor: | ||
Gondolom, elég sokan vagyunk, akik úgy képzelünk el egy webes bejelentkezést, hogy a felhasználónak ki kell töltenie valamilyen űrlapot a nevével és a jelszavával, a háttérben erre a program kiszedi a megfelelő sort az adatbázisból, és ennek alapján eldönti, hogy jó-e a jelszó, avagy rossz, admin-e a felhasználó vagy sem, stb. Ez a folyamat az autentikáció. Ezután a felhasználó meg akar nézni valamilyen lapot a biztonságos területről. A rendszernek döntenie kell, hogy beengedje-e, avagy sem. Ez az autorizáció. Aki csinált már valamilyen webes bejelentkező felülettel rendelkező cuccot PHP-ban, az megszokta, hogy mindezt saját magának kell leprogramoznia. Erre természetesen Java EE-ben is van lehetőség (a PHP-hoz képest kisebb csinosításokkal, úgymint filterek beiktatása, entity beanek használata sima query-k helyett, stb.), szükség azonban nincs rá. Tudvalevő, hogy a Java EE biztonsági szolgáltatása a programozó kezébe ad egy JAAS-alapú (Java Authentication & Authorization Service) módszert az autentikáció és az autorizáció (a továbbiakban AA) kezelésére. Hogy miért jó ez? | |||
Gondolom, elég sokan vagyunk, akik úgy képzelünk el egy webes | |||
bejelentkezést, hogy a felhasználónak ki kell töltenie valamilyen űrlapot a | |||
nevével és a jelszavával, a háttérben erre a program kiszedi a megfelelő | |||
sort az adatbázisból, és ennek alapján eldönti, hogy jó-e a jelszó, avagy | |||
rossz, admin-e a felhasználó vagy sem, stb. Ez a folyamat az autentikáció. | |||
Ezután a felhasználó meg akar nézni valamilyen lapot a biztonságos | |||
területről. A rendszernek döntenie kell, hogy beengedje-e, avagy sem. Ez az | |||
autorizáció. Aki csinált már valamilyen webes bejelentkező felülettel | |||
rendelkező cuccot PHP-ban, az megszokta, hogy mindezt saját magának kell | |||
leprogramoznia. Erre természetesen Java EE-ben is van lehetőség (a PHP-hoz | |||
képest kisebb csinosításokkal, úgymint filterek beiktatása, entity beanek | |||
használata sima query-k helyett, stb.), szükség azonban nincs rá. Tudvalevő, | |||
hogy a Java EE biztonsági szolgáltatása a programozó kezébe ad egy | |||
JAAS-alapú (Java Authentication & Authorization Service) módszert az | |||
autentikáció és az autorizáció (a továbbiakban AA) kezelésére. Hogy miért jó ez? | |||
* Valakik már megírták helyetted a kódot. Valószínű, hogy az évek során sikerült egy csomó rést kiküszöbölni (lásd pl. SQL-injektálhatóság), úgyhogy feltehetően jobban jársz egy ilyennel. | * Valakik már megírták helyetted a kódot. Valószínű, hogy az évek során sikerült egy csomó rést kiküszöbölni (lásd pl. SQL-injektálhatóság), úgyhogy feltehetően jobban jársz egy ilyennel. | ||
* Ha deklaratívan kezeled az AA-t, akkor a jogosultságok nincsenek bedrótozva a programba: egy-két telepítésleíró-bejegyzés beiktatásával vagy elvételével bővíthető vagy kurtítható egy-egy szerepkör felhasználói tábora. További hatalmas előny, hogy az AA adatokat tartalmazó erőforrás jellegétől (Egy fájl? Egy adatbázis? Egy...?) is független maradhatsz. | * Ha deklaratívan kezeled az AA-t, akkor a jogosultságok nincsenek bedrótozva a programba: egy-két telepítésleíró-bejegyzés beiktatásával vagy elvételével bővíthető vagy kurtítható egy-egy szerepkör felhasználói tábora. További hatalmas előny, hogy az AA adatokat tartalmazó erőforrás jellegétől (Egy fájl? Egy adatbázis? Egy...?) is független maradhatsz. | ||
A Java EE biztonsági szolgáltatásában ún. realmek (ejtsd "relm", nem pedig | A Java EE biztonsági szolgáltatásában ún. realmek (ejtsd "relm", nem pedig "rílm") használatosak egy alkalmazás felhasználói táborának azonosítására. Autentikálják a felhasználót, aki egy biztonsági kontextust kap, benne a felhasználói azonosítójával és a csoportazonosítójával (esetleg több ilyenis lehet bizonyos realmeknél). Az autorizáció ezután a konténer feladata, a telepítésleírók alapján. | ||
"rílm") használatosak egy alkalmazás felhasználói táborának azonosítására. | |||
Autentikálják a felhasználót, aki egy biztonsági kontextust kap, benne a | |||
felhasználói azonosítójával és a csoportazonosítójával (esetleg több | |||
telepítésleírók alapján. | |||
A továbbiak kizárólag Netbeans 5.5-re, és a hozzácsomagolt AS-re | A továbbiak kizárólag Netbeans 5.5-re, és a hozzácsomagolt AS-re |