Java EE fejlesztés Web-alkalmazás

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:

  1. Akadályozza meg az illetéktelen hozzáférést a védett tartalmat.
  2. 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:

Java EE fejlesztés Web-alkalmazás

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

Java EE fejlesztés Web-alkalmazás

Java EE fejlesztés Web-alkalmazás

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.

Java EE fejlesztés Web-alkalmazás

Továbbra is hozzá logikát servlet kezeli a kérelmeket a privát tartalom, és ad értelmet maga korlátozott tartalommal (index.jsp).

  1. 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:

Java EE fejlesztés Web-alkalmazás

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.

  1. Vissza a Server Administration Console Realms fülre.
  2. Kattintson az Új gombra, hogy hozzon létre egy új birodalom „a.
  3. Ahogy a neve is levelet JDBCRealmMyblog, és válassza ki az osztályt:
    com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm
  4. 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.
    • Java EE fejlesztés Web-alkalmazás
  5. 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.