Beveiligingsarchitectuur 25.10
Het webforJ-beveiligingssysteem is gebouwd op een fundament van interfaces en ontwerppatronen die flexibele, uitbreidbare routebescherming mogelijk maken. Deze sectie legt uit hoe het fundamentele beveiligingskader functioneert en hoe je op maat gemaakte beveiligingsoplossingen kunt bouwen door deze interfaces te implementeren.
De meeste applicaties zouden de Spring Security-integratie moeten gebruiken, aangezien dit alles automatisch voor je configureert. Implementeer alleen aangepaste beveiliging als je specifieke vereisten hebt of als je geen gebruikmaakt van Spring Boot. De Spring-integratie is gebouwd op dezelfde fundamentele architectuur.
Je leert over de kerninterfaces, het evaluator-ketenspatroon, hoe navigatie wordt onderschept en geëvalueerd, en verschillende benaderingen voor het opslaan van authenticatiestatus.
Deze gidsen leggen de fundamentele architectuur en uitbreidingspunten uit, de interfaces die je implementeert en hoe ze samenwerken. Voorbeeldcode laat één mogelijke benadering zien, geen voorschrijvende vereisten. Jouw implementatie kan verschillende opslagmechanismen gebruiken (JWT, database, LDAP), verschillende bedradingpatronen of verschillende authenticatiestromen op basis van jouw behoeften.
Wat je zult leren
- Fundamentele architectuur: De kerninterfaces die beveiligingsgedrag definiëren en hoe ze samenwerken
- Navigatie-onderschepping: Hoe het beveiligingssysteem navigatieverzoeken onderschept en toegangsregels evalueert
- Evaluator-ketenspatroon: Hoe beveiligingsregels in volgorde van prioriteit worden geëvalueerd met behulp van het keten van verantwoordelijkheidspatroon
- Authenticatieopslag: Verschillende benaderingen voor het opslaan van de authenticatiestatus van de gebruiker (sessies, JWT, database, enz.)
- Volledige implementatie: Een werkend voorbeeld dat alle componenten samenbrengt
Voor wie dit bedoeld is
Deze gidsen zijn voor ontwikkelaars die willen:
- Aangepaste beveiligingsimplementaties bouwen voor niet-Spring-applicaties
- De fundamentele architectuur begrijpen om problemen op te lossen
- Aangepaste authenticatiestromen of autorisatielogica implementeren
- Beveiligingsevaluators creëren met domeinspecifieke logica
- Integreren met bestaande authenticatiesystemen (LDAP, OAuth, aangepaste backend)
Vereisten
Voordat je in deze gidsen duikt, zou je moeten:
- De Getting Started-gids hebben voltooid om beveiligingsconcepten te begrijpen
- Beveiligingsannotaties begrijpen vanuit de Annotaties-gids
- Bekend zijn met het keten van verantwoordelijkheid ontwerppatroon
- Ervaring hebben met Java-interfaces en erfelijkheid
Onderwerpen
Fundamentele architectuur
Het webforJ-beveiligingssysteem is gebouwd op een fundament van kerninterfaces die samenwerken om toegangscontrole op route-niveau te bieden. Deze interfaces definiëren de contracten voor beveiligingsgedrag, waardoor verschillende implementaties, of ze nu op sessies zijn gebaseerd, op JSON Web Tokens (JWT), LDAP-geïntegreerd of database-ondersteund zijn, in hetzelfde onderliggende framework kunnen worden geïntegreerd.
Navigatiestroom
Trace how RouteSecurityObserver intercepts navigation, runs evaluators, and redirects users before any view renders.
Evaluatorketen
De evaluator-keten is het hart van het beveiligingssysteem van webforJ. Het is een prioriteitsgeordende reeks evaluatoren die routes onderzoeken en toegang beslissingen nemen met behulp van het chain of responsibility ontwerppatroon. Door te begrijpen hoe de keten werkt, kun je aangepaste evaluatoren maken en onverwachte toegang weigeringen oplossen.
Voorbeeld van aangepaste implementatie
Build a session-based security stack by implementing SecurityConfiguration, SecurityContext, SecurityManager, and SecurityRegistrar.
Securing a Java web app?
Walk the team through your login, roles, and access rules.
Blijf leren
ArtikelSpring Security role-based UI access: why protecting routes beats hiding elements
ArtikelSecuring webforJ Routes Before the View Exists
ArtikelSecure Java web framework for enterprise teams
ArtikelBuild a Java admin dashboard with webforJ in pure Java
ArtikelJava framework for enterprise web applications: a checklist
ArtikelJmix alternative: plain Java and Spring Boot with webforJ