Prex
Prex — это система управления правами на основе Spring Boot 2.1.8, Spring Cloud Greenwich.SR3, Spring Cloud Alibaba, Spring Security, Spring cloud Oauth2 и Vue. Проект поддерживает управление данными, конфигурацию динамических маршрутов, настройку меню, сторонний социальный вход в систему и другие функции.
Мы стремимся создать наиболее лаконичную систему управления правами.
Содержание
Что мы можем для вас сделать
- Использовать арендаторов для изоляции данных и предоставить вам единую платформу аутентификации и управления правами (версия микросервиса временно не открыта, используйте версию для одного компьютера).
- Интегрировать Prex в проект микросервисов без вмешательства в существующий бизнес-код и реализовать функции аутентификации и авторизации.
- Уделять внимание группам и предоставлять пожизненные бесплатные ответы на вопросы.
- Рабочий процесс (в разработке, пожалуйста, ожидайте)
Версия для одного компьютера
Версия для одного компьютера: https://gitee.com/li_haodong/pre
О нас
Сканируйте QR-код, чтобы добавить автора.
Сканировать QR-код для добавления автора |
Мой публичный аккаунт |
|
|
 |
 |
Детали проекта
Архитектура

Технологический стек
- На основе Spring Boot 2.1.8, Spring Cloud, Spring Cloud Alibaba, Spring Security и OAuth2 создана система управления правами с ролевым управлением доступом (RBAC).
- Nacos используется как центр регистрации и конфигурации.
- Sentinel используется для ограничения потоков методов и обработки блокировок.
- Vue используется в качестве фреймворка переднего плана, а Ant Design — в качестве интерфейса.
- Mybatis Plus используется для упрощения разработки, изоляции данных и других функций.
- В проекте используются стиль кодирования Lambda и Stream Api.
- Используется Spring Social для сторонних входов.
- Spring Cloud Admin используется для визуализации мониторинга проектов.
- Swagger используется для унифицированного управления API.
Основные функции
- Управление пользователями: эта функция в основном завершает настройку пользователей системы, предоставляя базовую конфигурацию пользователя (имя пользователя, номер мобильного телефона, адрес электронной почты и т. д.), а также роли отдела и другую информацию.
- Управление ролями: управление полномочиями меню для распределения прав доступа к данным на основе ролей отдела.
- Управление меню: реализация динамического маршрута меню на стороне сервера, поддержка многоуровневого меню, операций с разрешениями, маркировки разрешений кнопок и других функций.
- Управление отделами: настройка организационной структуры системы, древовидная таблица отображения, произвольное регулирование верхнего и нижнего уровней.
- Управление должностями: в соответствии с конфигурацией отдела, связанным с должностью.
- Управление арендаторами: предоставление единой аутентификации для платформы управления правами, изоляция данных на основе арендатора (версия микрослужбы временно не открывается).
- Управление социальными учётными записями: возможность просматривать и отменять привязку учётных записей, связанных с Prex.
- Управление словарями: ведение некоторых часто используемых данных в системе, таких как состояние (нормальное/аномальное), пол (мужской/женский) и т.д.
- Управление журналами: возможность удалять и просматривать журналы операций пользователей.
- Журналы исключений: запись журналов исключений, что удобно для разработчиков для определения местоположения ошибок.
Опыт работы с системой
Адрес опыта: https://prex.52lhd.com/
Пароль: admin/admin
Исходный код проекта
Особенности проекта
-
Микросервисная архитектура с разделением переднего и заднего плана.
-
Используются новейшие популярные компоненты и пользовательский интерфейс, такие как Nacos, Sentinel, SpringCloud и т. д.
-
Может быть непосредственно интегрирован в корпоративные микросервисные проекты.
-
Использование Gateway для высокопроизводительного шлюза маршрутизации.
-
Независимая система UPMS.
-
JWT используется для управления токенами.
-
Предоставляются два режима вставки и замены для авторизации и паролей.
-
Для операций журнала, коротких сообщений, электронной почты, Redis, служб ресурсов и Swagger предусмотрены режимы вставки и замены.
-
Код широко использует китайские комментарии, очень лаконичный стиль, быстрый запуск, простота понимания.
-
Разработка основана на RESTFul API.
-
Унифицированное перехват исключений, дружественные подсказки об ошибках.
-
Реализовано полное ведение журнала на основе аннотаций + перехватчики Aop.
-
Изоляция данных реализована на основе перехватчиков Mybatis и стратегии.
-
Предлагается решение для входа в систему с разделением на передний и задний план и стороннего входа в социальные сети.
-
Интеграция Spring Social с Security для реализации входа в сторонние социальные сети. Программная архитектура:
-
prex:
- prex-ui — фронтенд-проект;
- prex-auth — аутентификация и авторизация;
- prex-gateway — шлюз;
- prex-project:
- prex-system-base:
- prex-system-base-api;
- prex-system-base-server — сервер UMPs;
- prex-visual — графический модуль:
- prex-monitor — мониторинг (в настоящее время поддерживает Redis);
- prex-common:
- prex-common-auth — общая авторизация;
- prex-common-core — ядро, включая обработку исключений и инструменты;
- prex-common-data — перехват разрешений на доступ к данным;
- prex-common-log — ведение журнала;
- prex-common-message — SMS и электронная почта;
- prex-common-redis — конфигурация Redis;
- prex-common-social — поддержка социальной авторизации;
- prex-common-swagger — добавление компонента Swagger;
- prex-docs — документация:
Использование:
Установка
-
Фронтенд:
-
Nginx:
-
Nacos:
-
Скачать: https://github.com/alibaba/nacos/releases. Обязательно скачайте версию 1.1.3 или более позднюю.
-
Запустить: в каталоге bin выполните команду: Linux/Unix/Mac: sh startup.sh -m standalone.
-
Страница входа: localhost:8848/nacos.
-
Sentinel (необязательно):
-
Zipkin (необязательно):
Использование
- Загрузите Nacos (обязательно) и запустите его. Если Sentinel не требуется, можно не загружать его и удалить соответствующие аннотации и зависимости из кода.
- Подключитесь к MySQL и измените адреса подключения, имена пользователей и пароли для сервисов prex-auth и prex-system-base-server.
- Создайте базу данных с именем pre_2 и выполните файл SQL проекта.
- Подключитесь к Redis. Если вы используете локальный сервер, просто запустите его без изменений конфигурации.
- Запустите все проекты. Если SpringCloudAdmin не нужен, его можно не запускать.
- Доступ к Swagger: localhost:8002/swagger-ui.html. Обратите внимание, что в Postman запрос должен выглядеть следующим образом: http://localhost:8001/oauth/token?username=admin&grant_type=password&scope=select&client_id=prex-app&client_secret=123456&password=admin. Получите токен, добавьте перед ним Bearer (с пробелом), объявите его как глобальную переменную в Swagger.
Примечание: часть кода взята из проекта pig (https://gitee.com/log4j/pig).
Система предварительного просмотра:
Изображения не включены в ответ, так как они не являются текстом.
Комментарии ( 0 )