How eazybytes/spring-security works
This repository is a Spring Security course implemented as progressively developed Java and Angular examples, rather than one deployable product. A representative workflow is a customer making a bank request: Spring Security authenticates the request using customer details and authorities, then bank controllers expose account-related API capabilities to the UI. Sampled user-details code confirms lookup by email through a customer repository; the tree and README document broader authorization, CSRF/CORS, JWT, OAuth2/OIDC, and identity-provider topics. Many individual integrations and controller call paths were not sampled, so those links are not asserted.
Main entry points: EazyBankUserDetailsService.java User details · controller Bank API · CustomerRepository.java Customer repository · ContactService.java Contact service
Components 16
Bank examples
- Bank API
section_10/springsecsection_10/src/main/java/com/eazybytes/controller - Customer repository
section_10/springsecsection_10/src/main/java/com/eazybytes/repository/CustomerRepository.java - Bank data
section_10/springsecsection_10/src/main/java/com/eazybytes/model - Bank database
- EazySchool app
section7/eazyschool-end/src/main/java/com/eazybytes/eazyschool/controller - Contact service
section7/eazyschool-end/src/main/java/com/eazybytes/eazyschool/service/ContactService.java
Security layers
- Security config
section_10/springsecsection_10/src/main/java/com/eazybytes/config/ProjectSecurityConfig.java - Security filters
section_10/springsecsection_10/src/main/java/com/eazybytes/filter - User details
section_10/springsecsection_10/src/main/java/com/eazybytes/config/EazyBankUserDetailsService.java
Web clients
- Bank UI
section_11/bank-app-ui/src/app
Course capabilities
- Security foundations
section1/springsecsection1/src/main/java - JWT and OAuth2
section_16 - Authorization server
section_16/authserver/src/main/java/com/eazybytes/authserver - Social login
section_16
Other components
- Bank customer
- Keycloak
Connections 11
- Bank customer → Bank UI: uses
- Bank UI → Bank API: requests
- Security config → User details: loads users
- User details → Customer repository: looks up email
- Customer repository → Bank database: reads
- Bank API → Bank data: serves
- EazySchool app → Contact service: submits contact
- Contact service → Bank data: logs contact
- Authorization server → User details: loads users
- Keycloak → JWT and OAuth2: supports
- Social login → JWT and OAuth2: covers