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:n turvallisuusjärjestelmä perustuu ydinkäyttöliittymien pohjalle, jotka toimivat yhdessä tarjotakseen reittikohtaista pääsynhallintaa. Nämä käyttöliittymät määrittelevät turvallisuuskäyttäytymisen sopimukset, jolloin erilaiset toteutukset, olipa kyseessä sessioon perustuva, JSON Web Tokenien (JWT) käyttöön perustuva, LDAP-integroitu tai tietokannan tukema, voivat liittää itseensä samaan taustarakenteeseen.
📄️ Navigation Flow
Turvallisuuden valvonta webforJ:ssä tapahtuu automaattisesti navigoinnin aikana. Kun käyttäjä napsauttaa linkkiä tai navigoi reitille, turvallisuusjärjestelmä keskeyttää navigoinnin, arvioi pääsy säännöt ja joko sallii navigoinnin jatkua tai ohjaa käyttäjän sopivalle sivulle. Tämä keskeytys on käyttäjille näkymätön ja ei vaadi manuaalisia turvallisuustarkistuksia komponenttikoodissasi.
📄️ Evaluator Chain
Arviointiketju on webforJ:n turvallisuusjärjestelmän sydän. Se on prioriteettijärjestyksessä oleva arvioijien sekvenssi, joka tutkii reittejä ja tekee pääsypäätöksiä vastuuketjun suunnittelumallia käyttäen. Ymmärtäminen siitä, miten ketju toimii, auttaa sinua luomaan mukautettuja arvioijia ja ratkaisemaan odottamattomia pääsyn kieltämiä.
📄️ Custom Implementation Example
Tämä opas käy läpi rakentamisen täydellisen mukautetun turvallisuusratkaisun käyttäen istuntoon perustuvaa todennusta. Opit, miten neljä ydintoimintoliittymää toimii yhdessä toteuttamalla ne alusta alkaen.