1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/liupeiyu-geek-framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Geek-Framework: микросервисная платформа для быстрой разработки

Geek-Framework — это микросервисный фреймворк для быстрой разработки, основанный на нескольких открытых проектах. Он обеспечивает высокую эффективность, производительность и безопасность благодаря интеграции передовых технологий.

Geek-Framework построен на базе Spring Boot и предлагает следующие возможности:

  • MVC в качестве модели представления контроллера;
  • MyBatis для доступа к данным;
  • Apache Shiro и Spring Security для авторизации;
  • Redis для кэширования.

Geek-Framework ориентирован на разработку микроприложений и включает базовые функции для управления пользователями, ролями, правами доступа, участниками и журналами событий. На стороне клиента реализованы основные функции, такие как регистрация и вход в систему.

Фреймворк также поддерживает разделение таблиц для пользователей и администраторов, что позволяет расширять функциональность системы. В нём используются многоуровневая архитектура, двойная проверка подлинности, кодирование данных и шифрование паролей. Управление проектами осуществляется с помощью Maven для повышения удобства разработки и расширяемости.

Обновления

В обновлениях фреймворка были внесены следующие изменения:

  1. Обновление SpringBoot до версии 2.1.2.RELEASE и добавление конфигурации в application.yml для совместимости с последней версией SpringBoot.
  2. Удаление поддержки J2Cache для упрощения настройки системы новыми пользователями.
  3. Объединение всех пользователей в одну область вместо поддержки нескольких областей.
  4. Оптимизация инструментов даты и времени для обеспечения безопасности.
  5. Исправление предупреждений в соответствии с правилами разработки Java.
  6. Добавление переключателя отладки для вывода журналов.
  7. Интеграция с протоколом RPC (Remote Procedure Call Protocol) для удалённого вызова процедур.
  8. Улучшение обработки ошибок при использовании SpringTransaction.
  9. Обновление пакетов MyBatis, mapper и pagehelper для автоматической конфигурации.
  10. Изменение способа обработки сортировки после обновления pagehelper.
  11. Добавление примеров тестирования транзакций.
  12. Обновление J2cache до версии 2.7.0 для исправления ошибок и возможного будущего удаления поддержки Jedis.
  13. Настройка Lettuce в качестве альтернативы Jedis для Redis.
  14. Внедрение компонентов загрузки файлов и редактора на основе UEditor.
  15. Решение проблемы одновременного входа в систему на разных браузерах.
  16. Использование Spring-Security для контроля входа на стороне клиента и сохранение Shiro для административной части.
  17. Обновление базы данных для использования нового механизма паролей BCryptPasswordEncoder.
  18. Оптимизация структуры каталогов и резервное копирование базы данных.
  19. Исправление ошибок в pom-файле и файлах конфигурации J2Cache.
  20. Переименование проекта из SpringBootAdmin в Geek-Framework.
  21. Обновление до SpringBoot 2.0 и интеграция J2Cache в качестве вторичного кэша.
  22. Создание ветки 1.0 для сохранения кода предыдущей версии.
  23. Реализация JWT для аутентификации и авторизации.
  24. Интеграция Redis для хранения данных и использование Shiro с RedisSession для кластерных сред.
  25. Введение режима по умолчанию «разработка».
  26. Устранение известных проблем и ошибок.

Функции

Платформа предоставляет следующие встроенные функции:

  • управление администраторами для настройки системы и распределения ролей;
  • управление ролями для определения прав доступа;
  • управление меню для настройки системных меню, операций и кнопок;
  • управление участниками для регистрации и управления пользователями на передней панели;
  • ведение журнала операций для записи и поиска нормальных операций системы;
  • ведение журнала исключений для записи и поиска аномальных событий системы.

Технические решения

Для обеспечения работы платформы используются следующие технологии:

  1. Серверная часть:

    • ядро: SpringBoot 2.0.2.RELEASE;
    • сервер приложений: Tomcat 8.5.31;
    • безопасность: Apache Shiro 1.4 и Spring-Security 5.0.5;
    • представление: Spring MVC 5.0.6;
    • проверка: Hibernate Validator 6.0.9;
    • макет: Thymeleaf 3.0.9;
    • постоянство: MyBatis 3.3.1 и Mapper 3.3.9;
    • пул соединений: Alibaba Druid 1.0;
    • кэш: Ehcache 3, Redis и J2Cache 2.13;
    • логирование: Log4j;
    • токены: jsonwebtoken 0.6;
    • инструменты: Apache Commons и Jackson 2.9.5.
  2. Клиентская часть:

    • jQuery 2.2.4;
    • совместимость jQuery: jQuery-Migrate 1.4.1;
    • CSS: Twitter Bootstrap 3.3.7+AdminLte 2.3.7;
    • клиентская проверка: jQuery Validate Plugin 1.15;
    • таблицы данных: BootStrap-Table 1.11;
    • древовидные списки: jQuery-Treegrid 0.2 и BootStrap-Treeview 1.2;
    • инструменты: Layer 3.0.
  3. Платформа:

    • поддержка серверов: проект по умолчанию совместим с Tomcat 8.5, но может быть упакован и развёрнут на существующих серверах Tomcat после специальной обработки;
    • база данных: поддержка MySQL, планируется расширение для других баз данных;
    • среда разработки: Java 1.8 и выше, IDEA, Maven 3.1, Git.
  4. Безопасность:

    • язык разработки: Java для обеспечения универсальности, эффективности, переносимости и безопасности;
    • другие аспекты: не ограничиваясь языком, платформа обеспечивает высокий уровень безопасности благодаря использованию передовых технологий и методов. Многоуровневая архитектура: (база данных, уровень доступа к данным, бизнес-логика, презентация) — чёткая иерархия, слабая связанность, каждый уровень должен проходить через интерфейс для подключения и проверки параметров (например, на уровне презентации нельзя напрямую работать с базой данных), что обеспечивает безопасность операций с данными.
  5. Двойная верификация: пользовательские формы проходят двойную проверку: серверную и клиентскую, чтобы предотвратить злонамеренные изменения со стороны пользователя (например, невозможность записи в текстовую область, скрытие переменных для подделки, загрузка незаконных файлов и т. д.), а также обход клиентской проверки и прямое взаимодействие с базой данных.

  6. Безопасное кодирование: все данные, отправляемые через пользовательские формы, подвергаются безопасному кодированию на сервере, предотвращая отправку вредоносных скриптов и SQL-инъекций для получения конфиденциальной информации, обеспечивая тем самым защиту данных.

  7. Шифрование паролей: пароли пользователей при входе в систему подвергаются хешированию с использованием алгоритма SHA1, который является необратимым. Это гарантирует безопасность в случае утечки зашифрованных данных.

  8. Принудительный доступ: система проверяет права доступа всех пользователей, пытающихся получить доступ к административным функциям, предотвращая прямой ввод URL-адресов для доступа.

Функциональный обзор

Изображения и значки:

  • icon — изображение или значок, не удалось определить конкретный тип файла.

Информация об учётных записях

  • Учётная запись администратора на бэкенде: пароль — admin.
  • Учётная запись гостя на фронтенде: пароль — hao123.

Примечание: тестовая база данных периодически восстанавливается.

Быстрый старт

  1. Необходимые условия: JDK 1.8+, Maven 3.0+, MySql 5+.
  2. Настройка параметров базы данных: изменение файлов src/main/resources/application.properties, application-dev.properties и application-pro.properties.
  3. Создание учётных записей MySQL: создание соответствующих пользователей и параметров в базе данных на основе изменённых настроек.
  4. Сборка проекта: запуск команды mvn package для создания jar-файла проекта. Также можно запустить java -jar *.jar для локального предварительного просмотра.
  5. Импорт данных: использование файла data/geekcattle.sql для импорта данных в локальную базу данных.
  6. Доступ к учётной записи администратора: имя пользователя — admin, пароль — admin.

Общение, обратная связь и участие

Для обсуждения и обмена информацией рекомендуется присоединиться к QQ-группе 805442966 и ответить «GeekFramework». Также доступны ресурсы на GitHub и Open Source China.

Заявление о правах

Программное обеспечение использует лицензию Apache License 2.0. Необходимо строго соблюдать условия лицензии, включая предоставление копии лицензии пользователям, указание изменений в модифицированных файлах, сохранение лицензии и авторских прав в производных работах, включение уведомления о лицензии в продукты, содержащие исходный код, и возможность коммерческого использования и модификации кода.

Также разрешается перепродажа программного обеспечения с сохранением авторских прав и информации об авторах.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Каркас, разработанный на основе SpringBoot 2.0, Shiro, J2Cache, Jwt, Thymeleaf и MyBatis для управления пользователями, ролями, правами доступа, членством, RestFul, Token, а также для регистрации и входа пользователей на фронтэнде и разделения пользователей фронтэнда и бэкэнда. Для технического общения присоединяйтесь к QQ группе: 805442966. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/liupeiyu-geek-framework.git
git@api.gitlife.ru:oschina-mirror/liupeiyu-geek-framework.git
oschina-mirror
liupeiyu-geek-framework
liupeiyu-geek-framework
master