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

SOC 2 Manager, Audit and Certification

@ Deloitte | US and CA Multiple Locations

Associate Compliance Advisor

@ SAP | Budapest, HU, 1031

DevSecOps Engineer

@ Qube Research & Technologies | London

Software Engineer, Security

@ Render | San Francisco, CA or Remote (USA & Canada)

Associate Consultant

@ Control Risks | Frankfurt, Hessen, Germany

Senior Security Engineer

@ Activision Blizzard | Work from Home - CA