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
-
User Management:
- Create, update, delete, and fetch user details.
- Rights and roles assignment for fine-grained access control.
-
Authentication:
- Handles login, token generation, and validation using JWT.
- Ensures protected endpoints are accessible only to authorized users.
-
Rights Management:
- Registers rights (e.g.,
USER_CREATE_USER,USER_DELETE_USER) in the Rights Central Registry. - Dynamically checks user permissions for specific actions.
- Registers rights (e.g.,
Customization and Extension
To modify or extend the User Module:
-
Adding New Rights:
- Define rights in the Rights Central Registry under
user-application-servicesor equivalent module. - Implement logic for the new right in the appropriate layer.
- Define rights in the Rights Central Registry under
-
Extending Business Logic:
- Add or update methods in the
user-domain-corefor domain-specific changes. - Implement new input adapters in
user-application-servicesfor processing and validation.
- Add or update methods in the
-
API Changes:
- Extend or modify REST controllers in the
user-applicationmodule. - Use
@Operationannotations for documenting changes automatically in Swagger UI.
- Extend or modify REST controllers in the
Integration Points
-
Security:
- JWT token generation and validation are managed in the
user-application-servicesmodule. - Global exception handling (
GlobalExceptionHandler) normalizes authentication errors.
- JWT token generation and validation are managed in the
-
Database Interaction:
- The
user-dataaccessmodule contains adapters to persist and query user data.
- The
-
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.
- Right Group Management: Manage rights by adding, modifying and removing from groups.
- Right Group Mapping Management: Allow certain right groups to create user's add them to a batch of right groups
- User Management: CRUD operations on a user
- Login: Login interface
- Registration: Public registration interface