Введение
Основанная на RBAC0 система управления бэкендом включает в себя функции входа, забытого пароля, рабочего стола (приветственная страница и мониторинг сервера), управления организацией, управления пользователями, управления ролями, управления меню, словаря данных, сообщений об ошибках, ведения журнала, инструментов базы данных и личных данных. Также она содержит центр безопасности.
Быстрое создание базовой системы управления бэкендом возможно через введение компонентов в pom.xml.
Система интегрирует компоненты для быстрого создания API JSON и компоненты проверки интерфейса XML, что упрощает разработку уровня персистентности и предоставляет набор инструментов, удовлетворяющих повседневные потребности веб-разработки.
Архитектура программного обеспечения
Основным компонентом системы является web-system-rbac0 1.0.2.RELEASE, который включает следующие сторонние зависимости: spring-boot 2.0.0.RELEASE, mybatis-starter 2.0.0, beetl 2.9.3, fastjson 1.2.31 и kaptcha 0.0.9.
Во фронтенде преимущественно используется Vue 2.6* + element-ui 2.13*.
В качестве базы данных применяется MySQL 5.7.
Инструкция по установке
Требуется выполнить всего три шага:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
……
<dependency>
<groupId>com.qsyout</groupId>
<artifactId>web-system-rbac0</artifactId>
<version>1.0.7.RELEASE</version>
</dependency>
Выполнить инициализацию базы данных в методе main:
PlatformBuilder.build(...).execute();
После настройки соединения с базой данных можно запускать и развёртывать проект, следуя инструкциям для spring-boot 2.0.0.RELEASE.
Руководство по использованию
Использование конфигурационных файлов:
Использование аннотаций:
Все методы запросов, помеченные аннотацией JsonResult, возвращают единую структуру JSON. Пример: { "status":1200,info:true,message:"операция выполнена успешно",data:obj --- obj обозначает конкретное возвращаемое значение. } Значение status указывает на статус возврата: 1200 — успех, 2500 — системная ошибка, 1500 — бизнес-ошибка, 1403 — недостаток прав, 1413 — ошибка проверки параметров.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//qsyout.com,receive map params validate tag library" "http://xmldtd.qsyout.com/validate.dtd" >
<map>
<string name="name"></string>
</map>
В соответствии с DTD можно автоматически предложить параметры узла;
Наследовать spring bean от BaseService — LoadMenuDataService. Перед выполнением провести проверку в соответствии с определёнными в XML узлами, пометить метод RequestMapping аннотацией JsonResult. На карте параметров метода указать XmlValid и настроить путь к XML. Также можно выполнить проверку параметров.

Для выполнения операций с базой данных достаточно вызвать соответствующие методы IbatisDao:
Spring bean, наследуемый от BaseService, может напрямую использовать свойство ibatisDao, для других spring beans требуется внедрение IbatisDao.
При необходимости добавить аннотацию @Transactional для управления транзакциями.
Соответствующие статусы JSONresult для вышеуказанных исключений: 1500, 1413, 1403.
Обзор классов инструментов
DateUtil — класс инструментов для работы со временем.
EncryptUtil — класс инструментов шифрования (MD5).
JSEscapeUtils — класс Java-инструментов для имитации функций escape и unescape JavaScript.
MailUtil — класс инструментов отправки почты.
SpringUtil — класс инструментов получения bean-компонентов Spring.
StringUtil — класс строковых инструментов.
SubjectUtil — класс инструментов текущего запроса.
WebUtil — класс веб-инструментов.
Разработка представлений
Все страницы представлений хранятся в каталоге resources/views.
Платформа использует Beetl для рендеринга представлений, а разработка представлений соответствует спецификациям Beetl.
Домашняя страница системы указывает на /index.html. Эта страница по умолчанию пуста и служит только для перенаправления. После входа в систему она перенаправляется на страницу управления бэкендом, в противном случае — на страницу входа. Если бизнес-логика не соответствует требованиям, можно переписать страницу /index.html в соответствующем пути.
Страница входа указывает на /login.html. Если страница входа не соответствует бизнес-требованиям, её можно переписать и добавить следующий код:
<% include("/system/login-form.html",{}){} %>
Этот код содержит функции и логику проверки имени пользователя, пароля, кода подтверждения и забытого пароля. Нужно только встроить компонент входа в пользовательский интерфейс.
Между системой настройки и рабочим столом на левой панели системы управления бэкэндом зарезервировано место для настраиваемой навигационной панели. Можно реализовать настраиваемую навигационную панель, переписав страницу /business-nav-menu.html с использованием синтаксиса element-ui NavMenu.
Встроенная функция Beetl hasPermission('permission1','permission2'……) определяет, содержит ли она один из идентификаторов разрешений permission1 или permission2. Функция возвращает true или false.
Техническая группа обмена QQ: 1009166083. Для любых вопросов или технических консультаций вы можете отправить электронное письмо на адрес 2375276632@qq.com.
Разработка сложна, и быть чистым техническим работником ещё сложнее. Уважение к чужому труду — это уважение к себе, и мы надеемся получить признание и поддержку от всех.
Любой организации или отдельному лицу разрешено бесплатное использование. Организации и отдельные лица, которые не уважают труд технических работников, будут занесены в чёрный список и потеряют право на бесплатное использование.
Эта версия разработана только с базовой моделью разрешений. В будущем модель будет дополнена;
Другие модели разрешений, такие как web-rbac0-dac, web-rbac1 и более сложные базовые фреймворки моделей разрешений, постоянно обновляются.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )