Admin.Core

中台Admin前后端分离的权限管理系统。支持多租户、数据权限、动态Api、任务调度、OSS文件上传、滑块拼图验证、国内外主流数据库自由切换和动态高级查询。基于.Net跨平台开发的WebApi。集成统一认证授权、事件总线、数据验证、分布式缓存、分布式事务、Ip限流、全Api鉴权、集成测试、性能分析、健康检查、接口文档等。

MIT License

Stars
1.2K
Committers
6

🌈 Introduction

A backend permission management system with frontend and backend separation, built on technologies such as .NET 8.0, FreeSql Suite, Autofac, Mapster, CAP, and more. It embraces a development philosophy that anticipates your needs, aiming to facilitate rapid development for everyone. Leveraging FreeSql ORM, it supports mainstream domestic and international databases, read-write separation, sharding, distributed transactions (TCC/SAGA), and other functionalities. Upon project initialization, the database is automatically generated. The CodeFirst mode enables automatic synchronization of table structures and permission data from entity configurations to the database. To explore the project, utilize the new version of Swagger API documentation to view interface request parameters and response data.

⛱️ Online preview

📚 Development documentation

💒 Code repository

🚀 Feature introduction

  1. User Management: Manage and query users, supporting advanced search and user linkage by department. Users can be disabled/enabled, supervisors can be set/removed, passwords can be reset, multiple roles and departments can be configured, superior supervisors can be assigned, and one-click login to specified users is supported.
  2. Role Management: Manage roles and role groups, supporting user linkage by role, setting menu and data permissions, and bulk adding and removing employees.
  3. Department Management: Manage departments, supporting tree-list display.
  4. Permission Management: Manage permission groups, menus, and permission points, supporting tree-list display.
  5. Tenant Packages: Manage tenant packages, supporting menu permission settings for tenant packages and bulk adding and removing enterprises.
  6. Tenant Management: Manage tenants, automatically initializing tenant departments, default roles, and administrators upon adding a new tenant. Supports configuring packages, disabling/enabling, and one-click login to tenant administrators.
  7. Dictionary Management: Manage data dictionary categories and subcategories, supporting subcategory linkage by dictionary category, multi-column sorting on the server, data import and export.
  8. Task Scheduling: Manage and view tasks and their run logs, supporting task creation, modification, deletion, starting, pausing, immediate execution, retry on failure, and sending alert emails.
  9. Cache Management: Query cache lists and clear cache based on cache keys.
  10. API Management: Manage APIs, supporting API synchronization functionality, primarily used for selecting APIs when adding permission points. Supports tree-list display, operation log request parameters, and response result configuration.
  11. View Management: Manage views, used for selecting view components when adding menus. Supports tree-list display.
  12. File Management: Manage file uploads, supporting file querying, uploading to OSS or locally, downloading, copying file addresses, deleting files, and viewing large images for image files.
  13. Region Management: Manage and query regions, supporting disabling/enabling, setting/removing popular regions, and one-click synchronization of statistical bureau region data.
  14. Login Logs: Query login log lists, recording successful and failed user login logs, with IP location tracking.
  15. Operation Logs: Query operation log lists, recording normal and abnormal user operations, with IP location tracking and detailed operation log viewing.
  16. Personal Center: This feature allows users to display and modify their personal information, view their last login information, change their passwords, and more.

⚡ Usage instructions

Using the latest version of .NET .Net version > 8.0+

Create a new project using the source code of an existing project.

# Clone a project
git clone https://github.com/zhontai/Admin.Core.git

# Enter the project
cd Admin.Core

# Open the project
Open the ZhonTai.sln solution

# Run the project
Set ZhonTai.Host as the startup project, press Ctrl + F5 to build and run the project directly without debugging
Alternatively, navigate to the ZhonTai.Host directory in Command Prompt (cmd) and enter the dotnet run command to execute the project.

# Package and Publish
Select ZhonTai.Host, then right-click and choose Publish from the context menu.

Create a new project using a project template.

# Installation template
dotnet new install ZhonTai.Template

# View help
dotnet new MyApp -h

# New the project
dotnet new MyApp -n MyCompanyName.MyProjectName

# Run the project
Set MyCompanyName.MyProjectName.Host as the startup project, press Ctrl + F5 to compile and run the project directly (without debugging)
Alternatively, navigate to the 'MyCompanyName.MyProjectName.Host' directory in Command Prompt (cmd) and enter the 'dotnet run' command to execute the project.

# Package and Publish
Select MyCompanyName.MyProjectName.Host, then right-click and choose Publish from the context menu.

💯 Join a QQ group for learning and communication

Zhontai Admin development group (2000-member capacity)

  • QQ Group Number:1058693879

💕 Special thanks

  • FreeSql
  • FreeRedis
  • FreeSql.Cloud
  • FreeScheduler

❤️ Acknowledgments list

  • .Net
  • Autofac
  • Mapster
  • DotNetCore.CAP
  • NLog
  • Yitter.IdGenerator
  • Newtonsoft.Json
  • Swashbuckle.AspNetCore
  • FluentValidation.AspNetCore
  • AspNetCore.Diagnostics.HealthChecks
  • MiniProfiler
  • IdentityServer4
  • AspNetCoreRateLimit
  • OnceMi.AspNetCore.OSS
  • Lazy.SlideCaptcha.Core
  • UAParser

💌 Support the author

If you think the framework is good, or if you are already using it, we hope you can go to Github or Gitee Please give me a ⭐ Star, it would be a great encouragement and support to me.