Feb. 23, 2023, 5:15 p.m. | Semyon Kirekov

DEV Community dev.to




Table of contents



  1. Business requirements and domain model

  2. Roles, enums, and inheritance

  3. Unit testing roles inheritance

  4. Defining JPA entities

  5. Creating custom Authentication implementation


    1. Why does getAuthorities() return empty set?

    2. UserId, and volatile authenticated flag



  6. Creating custom AuthenticationProvider

  7. Defining Spring Security config

  8. Declaring REST API methods

  9. Creating custom role checking service

  10. Combining PreAuthorize and custom role checking service

  11. Short and elegant enum references in SpEL expressions

  12. Integration testing and validating security


Then it comes to authorization, roles always come into …

api architecture authentication business domain entities flag integration java non programming requirements rest rest api return role roles security service spel spring spring security testing volatile

CyberSOC Technical Lead

@ Integrity360 | Sandyford, Dublin, Ireland

Cyber Security Strategy Consultant

@ Capco | New York City

Cyber Security Senior Consultant

@ Capco | Chicago, IL

Sr. Product Manager

@ MixMode | Remote, US

Security Compliance Strategist

@ Grab | Petaling Jaya, Malaysia

Cloud Security Architect, Lead

@ Booz Allen Hamilton | USA, VA, McLean (1500 Tysons McLean Dr)