Skip to main content
Version: 1.0.0

Overview

The User Module is responsible for managing user-related functionalities, including user creation, authentication, and rights-based access control. It serves as the foundation for all user interactions in the application.


Core Business Logic​

  1. User Management:

    • Create, update, delete, and fetch user details.
    • Rights and roles assignment for fine-grained access control.
  2. Authentication:

    • Handles login, token generation, and validation using JWT.
    • Ensures protected endpoints are accessible only to authorized users.
  3. Rights Management:

    • Registers rights (e.g., USER_CREATE_USER, USER_DELETE_USER) in the Rights Central Registry.
    • Dynamically checks user permissions for specific actions.

Customization and Extension​

To modify or extend the User Module:

  1. Adding New Rights:

    • Define rights in the Rights Central Registry under user-application-services or equivalent module.
    • Implement logic for the new right in the appropriate layer.
  2. Extending Business Logic:

    • Add or update methods in the user-domain-core for domain-specific changes.
    • Implement new input adapters in user-application-services for processing and validation.
  3. API Changes:

    • Extend or modify REST controllers in the user-application module.
    • Use @Operation annotations for documenting changes automatically in Swagger UI.

Integration Points​

  • Security:

    • JWT token generation and validation are managed in the user-application-services module.
    • Global exception handling (GlobalExceptionHandler) normalizes authentication errors.
  • Database Interaction:

    • The user-dataaccess module contains adapters to persist and query user data.
  • Rights-Based Access Control:

    • Collaborates with the Rights Central Registry to enforce permissions dynamically.

API Documentation​

API endpoints for the User Module are automatically documented and accessible via Swagger UI.

  • Usage:
    Open the Swagger UI to explore available endpoints, request parameters, response structures, and example payloads.

Screens​

These are screens suggestions that the user interface team will implement.

  1. Right Group Management: Manage rights by adding, modifying and removing from groups.
  2. Right Group Mapping Management: Allow certain right groups to create user's add them to a batch of right groups
  3. User Management: CRUD operations on a user
  4. Login: Login interface
  5. Registration: Public registration interface