Backend Development 7 min read

Base Admin: A Simple Generic Backend Management System Overview

The article introduces Base Admin, a lightweight backend management platform built with SpringBoot, Thymeleaf, WebSocket and Spring Security, detailing its technology stack, project structure, core features such as permission and menu management, real‑time logging, monitoring, API encryption, and recent updates.

Java Captain
Java Captain
Java Captain
Base Admin: A Simple Generic Backend Management System Overview

Introduction

This Base Admin is a simple, generic backend management system that provides permission management, menu management, user management, system settings, real‑time logs, real‑time monitoring, API encryption, as well as login‑user password changes and personalized menus.

Technology Stack

Frontend: layui.

Backend: SpringBoot + Thymeleaf + WebSocket + Spring Security + Spring Data JPA + MySQL.

Project Structure

The Java code, HTML, JavaScript and CSS files are organized under a main directory with a sub‑directory for each database table.

Feature Demonstrations

Login

The login page shows a text‑type password field for demonstration, supports environment‑specific configuration (dev environment skips captcha), and multiple login restrictions.

Account Online Control

Supports allowing or forbidding multiple simultaneous logins for the same account and implements soft deletion.

IP Restriction

Login can be limited to specific IP addresses.

Account Expiration

Accounts can be set to expire, with additional login restrictions extensible.

System Settings

Provides simple system property settings that can be extended (e.g., initial user management, password reset).

Menu Management

Menus are displayed as a layui Tree, supporting add, delete, and edit operations.

Permission Management

Supports CRUD operations for permissions and dynamic permission loading from the database rather than hard‑coded values.

User Management

Manages user information, login restrictions, menu and permission assignments, and includes a "current online users" feature.

Login User Information

Users can modify basic profile information and change passwords (stored as MD5‑hashed hexadecimal strings). They can also configure personalized shortcut menus.

Real‑time Log

Logs are pushed to the web page via WebSocket and refreshed every second. (Note: logging is configured only for the dev environment; production configuration is required before deployment.)

Real‑time Monitoring

Monitors system hardware and JVM memory usage, updating the web page every second via WebSocket.

API Encryption

Both request parameters and response data can be encrypted. The system settings include a toggle to enable or disable API encryption.

Key Points Explanation

1. Custom URL access permissions are loaded dynamically from the database, requiring custom authentication data sources, authentication managers, and interceptors.

2. API encryption is performed before Spring Security's UsernamePasswordAuthenticationFilter processes credentials, using a custom CaptchaFilterConfig to decrypt requests and wrap parameters.

3. RSA key pairs are generated at application startup; during hot‑deployment the front‑end must fetch the latest public key to avoid decryption failures.

Updates

1. Added Baidu UEditor integration (field type in MySQL changed to LONGTEXT).

2. Implemented "remember me" functionality; see referenced blog for details.

3. Added system color customization for header and sidebar.

4. Added management of currently online users with the ability to force logout.

Code Repository

GitHub: https://github.com/huanzi-qch/base-admin

Gitee: https://gitee.com/huanzi-qch/base-admin

backendwebsocketsecuritySpringBootPermission ManagementAdmin SystemAPI Encryption
Java Captain
Written by

Java Captain

Focused on Java technologies: SSM, the Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading; occasionally covers DevOps tools like Jenkins, Nexus, Docker, ELK; shares practical tech insights and is dedicated to full‑stack Java development.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.