[Open Source] One-Stop Cloud Platform for Managing Users, Roles, Permissions, Applications, APIs, and Multi-Tenancy
![[Open Source] One-Stop Cloud Platform for Managing Users, Roles, Permissions, Applications, APIs, and Multi-Tenancy](https://yy123.ink/api/img/1782591054309-9ror8c.jpg)
1. Project Overview
MT-AUTH
One-Stop Cloud Platform for Managing Users, Roles, Permissions, Applications, APIs, and Multi-Tenancy
MT-AUTH is a multi-tenant permission management (RBAC) system based on Spring Boot, OAuth2, and event-driven architecture. It integrates Spring Cloud Gateway to provide common features such as API authentication, caching, cross-origin resource sharing, and CSRF protection.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots




4. Feature Overview
Use Cases
Individuals: Please use the cloud version
- Avoid building a permission management system from scratch
- Want to focus on business development
- Want to provide open APIs for other developers
Enterprises: Deploy independently
- Users need to be shared across projects and managed centrally
- Projects are managed by different teams, with each team operating relatively independently
- Users have different permissions in different projects
- Centrally manage projects, applications, and APIs
- APIs need to be shared across projects
Project characteristics
- Event-driven system architecture
- Multi-Tenant
- Application, API, and user management
- JWT asymmetric keys
- OAuth2
- In-app messages, SMS, and email notifications
- User password reset and registration via invitation codes
- Revocation of issued JWTs
- API caching, cross-origin resource sharing, CSRF protection, compression, and system error message masking
- API logging and analytics
- Multi-Factor Authentication (MFA)
5. Tech Stack
Project Architecture Diagram

Role-Based Access Control (RBAC) Diagram

Tech Stack
Module
Overview
Tech Stack
mt-access
User, Application and API Management, Registration Center, Notifications
Spring Boot, JWT, OAuth2, Redis, RabbitMQ, Spring Cloud Eureka
mt-proxy
API Gateway
Spring Boot, Spring Cloud Gateway, Redis, RabbitMQ
mt-ui
UI
Angular
mt-common
General Utility
Spring Boot
mt-integration-test
Integration Testing
Spring Boot Test
RBAC Role-Based Access Control (RBAC) is an effective access control method for implementing enterprise-oriented security policies.
RBAC Role-Based Access Control (RBAC), as a promising alternative to traditional access control methods (Discretionary Access Control and Mandatory Access Control), has received widespread attention. In RBAC, permissions are associated with roles, and users obtain the permissions of those roles by becoming members of the appropriate roles. This greatly simplifies permission management. Within an organization, roles are created to perform various tasks, and users are assigned corresponding roles based on their responsibilities and qualifications. Users can easily be reassigned from one role to another. Roles can be granted new permissions as requirements change or systems are integrated, while permissions can also be revoked from roles when necessary. Relationships between roles can be established to accommodate a wider range of real-world scenarios.