A simple well-documented project designed to showcase the functionalities of security and authentication using Spring Boot and Spring Security. This example uses Spring Security version 3.0, considering the deprecation of features in previous versions.
-
MySQL Database Integration: The application uses a MySQL database to store user data. Data is managed via Spring JPA, and passwords are securely stored using hashed passwords thanks to the PasswordEncoder interface from Spring.
-
REST API Testing with Postman: The project demonstrates how to test a POST request to create and persist a new user in the project using Postman. This endpoint is accessible to all users.
-
Role-Based Access Control: Implements secured endpoints that restrict access based on the user's role. Specific endpoints are accessible only to users with ADMIN or USER roles, ensuring appropriate access control and security.