Turvallisuusarkkitehtuuri 25.10
webforJ:n turvallisuusjärjestelmä perustuu rajapintojen ja suunnittelumallien perusteelle, jotka mahdollistavat joustavan ja laajennettavan reitin suojaamisen. Tässä osiossa selitetään, kuinka perustavanlaatuinen turvallisuuskehys toimii ja kuinka voit rakentaa räätälöityjä turvallisuusratkaisuja toteuttamalla näitä rajapintoja.
Suurimman osan sovelluksista tulisi käyttää Spring Security -integraatiota, koska se konfiguroi kaiken tämän automaattisesti puolestasi. Implementoi räätälöity turvallisuus vain, jos sinulla on erityisiä vaatimuksia tai et käytä Spring Bootia. Spring-integraatio perustuu tähän samaan perustavanlaatuiseen arkkitehtuuriin.
Opit ydinarajapinnat, evaluatoriketjun mallin, kuinka navigointi poistetaan käytöstä ja arvioidaan, sekä erilaisten lähestymistapojen tallentamiseen liittyvän autentikointitilan.
Nämä oppaat selittävät perustavanlaatuisen arkkitehtuurin ja laajennuskohtia, toteuttamasi rajapinnat ja kuinka ne toimivat yhdessä. Koodiesimerkit näyttävät yhden mahdollisen lähestymistavan, eivätkä ne ole määrättyjä vaatimuksia. Toteutuksesi voi käyttää erilaisia tallennusmekanismeja (JWT, tietokanta, LDAP), erilaisia kytkentämalleja tai erilaisia autentikointivirtoja tarpeidesi mukaan.
Mitä opit
- Perustavanlaatuinen arkkitehtuuri: Ydinarajapinnat, jotka määrittävät turvallisuuskäyttäytymisen ja kuinka ne toimivat yhdessä
- Navigoinnin poistaminen käytöstä: Kuinka turvallisuusjärjestelmä keskeyttää navigointipyyntöjä ja arvioi käyttöoikeussäännöt
- Evaluatoriketjun malli: Kuinka turvallisuussäännöt arvioidaan prioriteettijärjestyksessä vastuuketjumallin avulla
- Autentikoinnin tallennus: Eri lähestymistavat käyttäjäautentikointitilan tallentamiseen (istunnot, JWT, tietokanta jne.)
- Täydellinen toteutus: Toimiva esimerkki, jossa kaikki komponentit on kytketty yhteen
Kenelle tämä on tarkoitettu
Nämä oppaat on tarkoitettu kehittäjille, jotka haluavat:
- Rakentaa mukautettuja turvallisuusratkaisuja ei-Spring-sovelluksille
- Ymmärtää perustavanlaatuinen arkkitehtuuri ongelmien ratkaisemiseksi
- Toteuttaa mukautettuja autentikointivirtoja tai valtuutuksen logiikkaa
- Luoda turvallisuusevaluattoreita, joilla on alan erityisiä logiikoita
- Integroitu olemassa oleviin autentikointijärjestelmiin (LDAP, OAuth, mukautetut taustat)
Esivaatimukset
Ennen kuin sukellat näihin oppaisiin, sinun tulisi:
- Suorittaa Aloitusopas ymmärtääksesi turvallisuuskäsitteet
- Ymmärtää turvallisuusannotat Alueoppaasta](/docs/security/annotations)
- Tuntemus vastuuketjumallista
- Olla kokemusta Java-rajapinnoista ja perinnöstä
Aiheet
📄️ Foundational Architecture
webforJ -turvajärjestelmä perustuu ydinliittymien perusrakenteeseen, joka toimii yhdessä tarjotakseen reittikohtaista pääsynvalvontaa. Nämä liittymät määrittelevät turvallisuuskäyttäytymiseen liittyvät sopimukset, jolloin erilaiset toteutukset, olivatpa ne istuntopohjaisia, JSON Web Tokeneihin (JWT) perustuvia, LDAP-integroituja tai tietokantapohjaisia, voivat liittää samaan perustavaan kehykseen.
📄️ Navigation Flow
Turvallisuuden valvonta webforJ:ssä tapahtuu automaattisesti navigoinnin aikana. Kun käyttäjä klikkaa linkkiä tai navigoi reitille, turvallisuusjärjestelmä keskeyttää navigoinnin, arvioi pääsääntöjä ja joko sallii navigoinnin jatkamisen tai ohjaa käyttäjän sopivalle sivulle. Tämä keskeytys on käyttäjille näkymätön, eikä se vaadi manuaalisia turvallisuustarkastuksia komponenttikoodissasi.
📄️ Evaluator Chain
Evaluointiketju on webforJ:n tietoturvajärjestelmän sydän. Se on priorisoitu arvioijien sekvenssi, joka tutkii reittejä ja tekee pääsypäätöksiä vastuuketjun suunnittelumallin avulla. Ymmärtämällä, miten ketju toimii, voit luoda mukautettuja arvioijia ja ratkaista odottamattomia pääsyn evätyksiä.
📄️ Custom Implementation Example
Tämä opas kuljettaa läpi täydellisen räätälöidyn tietoturvan toteuttamisen käyttäen istuntoon perustuvaa todennusta. Opit, miten neljä keskeistä rajapintaa toimivat yhdessä toteuttamalla ne alusta alkaen.