Java EE fejlesztés Web-alkalmazás
JAVA EE: az web-alkalmazások. JAAS. Session.
Állítsa be a Web biztonsági szintjét a rendszer csökkenti a két problémát:
- Akadályozza meg az illetéktelen hozzáférést a védett tartalmat.
- Megelőzni a lopást (olvasás) védett tartalom átvitel során.
A második probléma megoldódott egy Transport Layer Security (TLS) vagy prekurzor Secure Socket Layer (SSL). Az oldatot a második probléma lesz szó a következő cikkben.
Végrehajtása során a mechanizmus információ védelmére az illetéktelen hozzáférés ellen megosztott kétféle rendszer:
Amikor egy felhasználó belép az Ön webhelyére, akkor lehet rendelni több „szerepek”, hogy megadja vagy megtagadja a hozzáférést bizonyos funkciók a rendszer (a hozzáférést bizonyos tartalom vagy funkció).
A cikk deklaratív biztonság kerül felhasználásra.
1. szükség lehet egy pillanatképet az utolsó leckét. Pick itt.
Creation védett tartalmak
Annak érdekében, hogy különbséget a hozzáférést a webhely tartalmát, hozzon létre egy profilt, amely elérhető lesz csak regisztrált felhasználók számára.
hitelesítési mechanizmusok
Hitelesítési mechanizmus meghatározására használják, hogy a felhasználó hozzáférést kap korlátozott tartalmat. Java EE platform támogatja a különböző hitelesítési mechanizmusok, de az internetes iparág a legnépszerűbb kérelmet a felhasználó bejelentkezési nevét és jelszavát. Ahhoz, hogy végre e mechanizmust használnak „űrlap alapú hitelesítést.”
Forms alapú hitelesítés egyik fő előnye, hogy lehetővé teszi a fejlesztők, hogy tervezzen a megjelenése egy bejelentkezési űrlap úgy, hogy az jobban megfelel az általános vizuális rendszer interfész.
Nézzük a műveletsornak áthaladása során az ellenőrzés alapján a formák:
A megfelelő működéshez mechanizmust, amely szükséges lenne, hogy mindig formában művelet mező érték j_security_check. Ez azért szükséges, hogy a feltételek könnyen hordozható alkalmazásokat.
Csak a következő neveket beviteli mezők formájában kell használni:
Kövesse az alábbi lépéseket:
JAAS. Beállítása biztonsági politikák fogantyú telepítési
Felhasználók, csoportok, szerepek
Azok számára, akik már dolgoztak együtt osztott biztonsági rendszer, ez elég egyértelmű rendszer osztja a felhasználókat csoportokba, és a csoportok (vagy felhasználó) szerepei. Röviden ismertesse az átlagember.
A hivatalos dokumentáció az Oracle jó rajz, a fenti leírás:
Felhasználók és csoportok létrehozásához a kiszolgálón
Betöltése után a konzol megy fa Configuration> server-konfigurációkkal> biztonság-> Realms. Ott fekszik, 3 előre Realm „is, de szükség van egy fájlt. válasszuk ki.
Továbbra is hozzá logikát servlet kezeli a kérelmeket a privát tartalom, és ad értelmet maga korlátozott tartalommal (index.jsp).
- Nyisd private_cotroller.java fájlt, és cserélje ki a lekérdezés a következők szerint:
A name attribútum neve adunk arra figyelmezteti a felhasználót meghívásával getUserPrincipal function (). GetNaime () a példány HttpServletRequest. Ha szeretné összehasonlítani a szerepe polozvatelya és a kívánt, akkor ez a módszer nem:
módszer
megkapjuk a felhasználói munkamenetet. A False érték azt jelzi, hogy ha nincs ülés, akkor sozdovat nem kell, vagy servlet automatikusan létrehoz egy új munkamenetet az ügyfél és hozd vissza.
Továbbra is hozzá private_article.jsp kódfájlhoz:
JDBCRealm. Egy adatbázisban tárolja a felhasználói adatokat
Glassfish szerver biztosítja a képességét, hogy használja JDBCRealm „, és hogy használja az adatbázis poluchaniya bejelentkezési jelszó és a felhasználói csoportot.
Újjáépíteni a web alkalmazások sokkal kevesebb mozgás, mint amilyennek látszik az elején. Mindannyian akkor létre kell hozni egy új birodalom, és hirdessétek a web.xml fájl. Csináljuk.
- Vissza a Server Administration Console Realms fülre.
- Kattintson az Új gombra, hogy hozzon létre egy új birodalom „a.
- Ahogy a neve is levelet JDBCRealmMyblog, és válassza ki az osztályt:
com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm - Tovább fog követni a leírást a mezőket és értékeket, hogy töltse velük:
- JAAS kontextusban. jdbcRealm - indifikator bejelentkezés modulban.
- JNDI. jdbc / MyBlog - JNDI JDBC erőforrás nevét, amelyen keresztül fog kapcsolódni az adatbázishoz.
- Használati táblázat. felhasználók - táblázat felhasználók
- User oszlop. Bejelentkezés - mező, amely tárolja a felhasználó nevét.
- Passwrod oszlop. pass - mezőt a felhasználó jelszavát.
- Csoport táblázat. groupuser - táblázat, amelyben a felhasználók kötések vannak tárolva csoportokban.
- Csoport táblázat User oszlop. users_login - területen a csoport táblázatban tárolja a felhasználó nevét.
- Csoport neve oszlop. neve - A területen a csoport tábla tárolja a csoport nevét.
- Digest algoritmus. none - A leggyakoribb jelszavak nincsenek az adatbázisban tárolt nyitott és titkosított különböző hash algoritmusok vagy patak titkosító. Ez a mező tartalmazza a nevét, a titkosítási algoritmusok. A mi esetünkben, a jelszavak nyitva tartják, és ezért fel sem.
- Kattintson az „OK”, hogy hozzon létre egy új birodalom „a.
Továbbra is csak meg kell változtatni a web.xml fájl tag meghatározása terén a fájl lecserélése az újonnan létrehozott kapcsolattartó:
Privát csoport létrehozása az adatbázisban, és hivatkoznak rá egy felhasználótól, ami már regisztrált az utolsó leckét.
Ez az összefoglaló bejelentettük a felhasználók egy csoportja által kezelt servlet. Most már kivehetjük a web.xml kód:
Egy kicsit a lehetőségek közül:
@ServletSecurity - eljárást biztosít az alternatív telepítési leíró való hozzáférés szabályozására WEB alkalmazások. Táskák szüksége servlet kell feldolgozni és értelmezni @ServletSecurity kommentár minden osztályok és alosztályok végre javax.servlet.Servlet felületet. Absztrakt is két lehetőség van:
- érték - van HttpConstraint típusa és leírja az alkalmazandó korlátozásokat minden HTTP-módszer nem tesz említést httpMethodConstraints;
- httpMethodConstraints - egy sor HttpMethodConstraint. Különleges korlátozások HTTP-módszerek, mint a GET, POST és mások.
@HttpConstraint - az első paraméter @ServletSecurity. Leírja a hozzáférés szabályait a servlet, és a következő lehetőségek közül:
- érték - az alapértelmezett művelet, ha a tömb üres rolesAllowed;
array rolesAllowed - szerepet nevek amelyek számára engedélyezett;
- transportGuarantee - követelményeket támaszt a szállítási réteg az aktuális kapcsolat, beszélni róla részletesebben a következő cikkben.
Megkülönböztetni a szerepet, akkor is elérheti és EJB komponensek erre a célra:
@DeclareRoles - meghatározza a biztonsági szerepek egy futó alkalmazás vagy osztály.
@RolesAllowed - a lista azokat a szerepeket, hogy elérhető egyik vagy másik módszer.
Alfaja az eredmények a cikket. Találkoztunk a JAAS technológiával vizsgálták elméleti sostovlyayuschiyu és végrehajtani egy gyakorlati példát a Forma hitelesítés használatával fájl Realm és JDBC Realm. Grohl megtanulta, hogyan kell létrehozni a felhasználói biztonsági beállítások razgranichat ezeket a beállításokat a módszerek (POST, GET). És kötődnek hozzájuk a felhasználók egy csoportja. Az adminisztrációs konzol, létrehoztunk egy JDBC Realm, amely az adatbázis szerezni a szükséges információkat a felhasználó. Mi két módszert alkalmaztak beállítási munkák: xml formátumban a telepítési leíró és a @ kommentárokat. Ezen kívül megtudtuk, hogyan kell használni az alapvető jellemzői a web ülés (fogadás, méregtelenítés, hozzáadása és eltávolítása, az attribútumok).
A következő cikkben fogjuk vizsgálni részletesen a lehetőségét, hogy a titkosított adatokat protokala (https).
1 Kész kép tanulsága is felvette a GitHub.