Open-source set of simple common back office systems

  Foreword

  Some time ago we wrote a simple background template SpringBoot series --Security + Layui implement a rights management background templates , and today we put it into a perfect simple common back office systems, I call it: Base Admin

  This Base Admin is a simple common background management system, the main features include: rights management, menu management, user management, system settings, real-time log, API encryption, user login and change the password, configure personalized menus, etc.

 

  Technology stack

  Front-end: layui

  java后端:SpringBoot + Thymeleaf + WebSocket + Spring Security + SpringData-Jpa + MySql

 

  Project Structure Description

  Portions are big part of the directory java, html, js, css table by a single subdirectory store

 

 

 

 

 

  Demo

  log in

  (To facilitate the presentation, type the password input box into text)

  Profiles branch selection, dev environment do not need to enter a verification code

  Supports multiple login restrictions

 

  Enable / disable multiplayer online account

 

  Soft delete

 

   Login IP address restrictions

 

  Account expiration

  More login restrictions, we can continue to expand

 

  System Settings

  Some simple system property, want to support more configurable and extensible own (for example here: the initial user management, password reset)

 

 

  Menu Manager

  Menu Manager is a layui of Tree

 

  CRUD

 

  authority management

 

  CRUD

 

  Dynamic load permissions

  Load rights is not hard-coded in the code, but a dynamic read from the database, permissions set update method is called each time you save

  1, Daji is ROLE_USER right, it is empty, no access to / sys / following path (http: // localhost: 8888 / sys / sysUser / get / 1)

  2, sa super administrator privileges managing editor, to the rights of content ROLE_USER add / sys / **, Daji immediately have access to (http: // localhost: 8888 / sys / sysUser / get / 1)

 

  User Management

 

  Including user information, log on to limit the maintenance menu, assign permissions, etc.

  

  Modify user permissions to take effect the next time you log

 

  Modify the user menu is refreshing system to take effect

 

  Login user information

 

  Basic Information

  Login user can only edit certain information, such as name, change passwords

 

 

  

  change Password

 

  MD5 password is encrypted and converted to a hexadecimal string storage, in addition to the active user to change the password, but also can call the administrator to reset the password

 

 

 

 

 

 

  Personalized menu

 

  Users can configure their own personalized shortcut menu

 

  Real-time log

 

  For more details, please see my previous blog: SpringBoot series --Logback log output to a file as well as real-time output to a web page

 

 

 

  API Encryption

 

  For more details, please see my previous blog: front and rear side API to interact with RSA data encryption --AES hybrid encryption complete example

  Encrypted request parameter

 

 

  Response Data Encryption

 

 

 

  The key point to explain

  1, custom url access, dynamic permissions to read, you need to customize the configuration data origin authentication, authentication manager, interceptors details, please refer to the steps: https://www.jianshu.com/p/0a06496e75ea ;

  2, API encryption, because the login verification is Spring Security to do, so we have to get an account in UsernamePasswordAuthenticationFilter, before the completion of decryption password, just check our code before it is operational, but do respond to encrypted data operation, so the API encrypted login section of the light in accordance with our previous blog to is not enough, you need to decrypt operations CaptchaFilterConfig, decrypted a new custom RequestWrapper settings Parameter, and spread to the new object doFilter referred for further processing

 

  postscript

  This is just a simple common back-office systems, if added to a workflow, you can upgrade to the basic platform, to simplify business development, the finishing part of the general system functions into separate projects, specific business functions by embedding iframe

 

  Open Source Code

  Note: The database files in the resources / static / sql directory

 

  Open source code has been hosting to my GitHub, the code says:

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

  Cloud code: https://gitee.com/huanzi-qch/base-admin

Guess you like

Origin www.cnblogs.com/huanzi-qch/p/11534203.html