Skip to content

About

User and Role Management Basics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

User Role Management System 🛡️

This project is a comprehensive User and Role Management (RBAC - Role-Based Access Control) system built with Spring Boot. It is designed to meet fundamental security requirements such as user authentication, authorization, role management, and secure API access.

🚀 Features

  • Authentication: Secure login and registration processes based on JWT (JSON Web Token).
  • Authorization (Role & Permission Management):
    • Dynamic role creation, updating, and assignment.
    • Defining role-specific permissions.
  • User Management (Admin Panel): Detailed management of all accounts in the system by users with Admin privileges.
  • Account Security:
    • Email verification system.
    • Secure password reset codes.
    • Account locking (brute-force protection) and email-based unlock mechanisms.
  • User Dashboard: Viewing user details, profile updates, profile photo uploads, and account deletion.
  • API Documentation: Ready-to-use and testable API endpoints with Swagger / OpenAPI integration.

🛠️ Technologies Used

  • Backend: Java, Spring Boot, Spring Security
  • Database: Spring Data JPA / Hibernate (Fully compatible with SQL databases)
  • Security: JWT (JSON Web Token), BCrypt Encryption Algorithm
  • Documentation: Swagger / Springdoc OpenAPI 3.0
  • Build Tool: Maven
  • Other: HTML Templates (Thymeleaf etc. for email notifications)

📚 API Documentation

Once the project is running, you can use the Swagger UI console to visually inspect and test all endpoints:

👉 Swagger UI Link: http://localhost:8080/swagger-ui.html or http://localhost:8080/swagger-ui/index.html

📂 Project Structure

src/main/java/com/example
├── config/         # Security, JWT Filters and Swagger configurations
├── controllers/    # API Endpoints (Auth, AdminRole, AdminUser, Dashboard)
├── dto/            # Data Transfer Objects (Request and Response models)
├── entity/         # Database Entities (User, Role, Permission, UserRole)
├── exception/      # Custom error handling (Global Exception Handling)
├── repository/     # Data Access Layer (JPA Repositories)
├── services/       # Business logic services
└── util/           # Helper tools/utilities

🤝 Contributing

This project is open to contributions. If you find any bugs or want to add new features, please submit a Pull Request or open an Issue.

About

User and Role Management Basics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages