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

OSCHINA-MIRROR/cslc-cslc-springcloud

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

Введение

Базовая система управления микросервисами с ролевым доступом (RBAC), приглашаем заинтересованных коллег к общению и обучению.

Версия: 1.2.1, официальная версия.
Группа для общения и связи: 78780245.

1. Структура организации

1.1 Каталог модулей:

  • Ncaos — реестр. Рекомендуется использовать стабильную версию официального сайта, в данном проекте используется nacos 2.0.3.
  • Admin — предоставляет базовые функции управления для административного интерфейса. Включает управление пользователями, организациями, ролями, данными словаря и меню.
  • Auth — служба аутентификации и авторизации, включая вход в систему и другие функции.
  • Base — предоставляет общие инструменты для системы.
  • Gateway — шлюз сервиса, обеспечивающий унифицированный доступ к сети.
  • Doc — каталог документов проекта.

1.2 Описание технической архитектуры: Проект регулярно обновляется до последней стабильной версии.

Бэкенд-проект использует следующие технологии: Spring Cloud, OAuth2, Nacos, Spring Boot, Spring MVC, MyBatis и др. Также используются плагины Lombok, Swagger, Mybatis-plus, PageHelper и др., а также базы данных MySQL 8, Redis 6 и др.

Фронтенд-проект использует технологии Vue, Vuex, Element-UI, Axios и др. для разработки основных технологий.

1.3 Стандарты кода: В этом проекте применяется стандарт кодирования Alibaba P3C.

2. Создание среды разработки

Здесь представлены только общие идеи и ссылки на справочные документы. Для получения более подробной информации о конкретных деталях можно связаться с группой для обсуждения.

Рекомендуется использовать следующие компоненты для создания среды разработки: openjdk 11, IDEA, виртуальная машина (Linux), nginx, docker.

2.1 Бэкенд-среда разработки:

  • Сборка Maven: Выполняется в корневом каталоге текущего проекта для загрузки зависимостей проекта и создания базового пакета.
# Сборка текущего проекта
mvn clean install
  • Конфигурация плагина (IDEA): Необходимые плагины можно загрузить и установить через редактор Marketplace.
  • Другие конфигурации:
    • Установка баз данных (MySQL 8.0.13, Redis 6.0). Рекомендуется использовать Docker для установки.
    • Выполнение сценариев SQL для создания таблиц и инициализации данных в каталоге doc/db/.
    • После запуска NCAOS настройте конфигурацию базы данных для каждого сервиса в CS_NCAOS, используя веб-интерфейс для ручной настройки.
    • При запуске других сервисов измените конфигурацию в bootstrap.yml. Можно выбрать один из двух способов (1. Напрямую настроить NACOS_SERVER_ADDR и NACOS_SERVER_PORT на IP-адрес и порт вашего сервера NCAOS. 2. Обратитесь к разделу 4.3 «Конфигурация IDEA для внешних зависимостей» в документации).
    • Запустите сервисы в следующем порядке: NCAOS, admin, auth, gateway.
    • В системе используются следующие учётные данные:
      • NCAOS: по умолчанию учётная запись ncaos, пароль ncaos.
      • Бизнес-сервисы: по умолчанию учётная запись admin, пароль 123456.

2.2 Фронтенд-среда разработки (см. раздел «Создание среды разработки» в README.md для фронтенд-проекта).

3. Развёртывание проекта

Серверная среда: openjdk 11, nginx.

3.1 Развёртывание бэкенда: С помощью Maven соберите бизнес-проект, чтобы создать три базовых сервисных jar-файла, которые будут развёрнуты на облачном сервере. Структура каталогов может быть организована в соответствии с вашими потребностями.

Запустите бэкенд-проект, создав стартовый скрипт start.sh в том же каталоге, что и jar-файл, и выполнив его с помощью команды Linux.

#!/bin/bash
nohup java -jar ./cs-admin.jar >./logs/nohup.out 2>&1 &

Чтобы закрыть бэкенд-проект, используйте команду kill -9 xxx в Linux для уничтожения процесса. (Планируется оптимизация метода закрытия в будущем.)

3.2 Развёртывание фронтенда: Добавьте следующую конфигурацию в файл конфигурации nginx nginx.conf:

server {
    listen       80;
    # Публичный домен или IP-адрес
    server_name  www.xxxxx.cn;
    location ^~ /api/ {
        # Адрес бэкенд-программы
        proxy_pass http://localhost:4380;
        proxy_connect_timeout 500s;
        proxy_read_timeout 500s;
        proxy_send_timeout 500s;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location / {
        # Каталог развёртывания фронтенд-приложения
        root   /html/cslc-admin-ui/;
        index  index.html index.htm;
    }
}

3.3 Шифрование пароля:

3.3.1 Получение зашифрованных данных:

public static void main(String[] args) {
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    // Соль, необходимая для шифрования
    textEncryptor.setPassword("xxxxx");
    // Данные для шифрования, содержащие ENC(xxx)
    System.out.println("ENC("+textEncryptor.encrypt("123456")+")");
}

3.3.2 Добавление следующей конфигурации:
```yaml
jasypt:
  encryptor:
    password: rinxt527c # Замените на собственную соль
    algorithm: PBEWithMD5AndDES
    iv-generator-classname: org.jasypt.iv.NoIvGenerator

3.3.3 Пример использования MySQL:

spring:
  datasource:
    password: ENC(xxx) # Замените xxx на зашифрованные данные

4. Рекомендуемые документы для среды

4.1 Рекомендации по локальной разработке:

  • VSCode: официальный сайт для скачивания.
  • IDEA: официальный сайт для скачивания.
  • Nodejs: официальный сайт для скачивания.
  • Maven: установка.

4.2 Рекомендации по серверной среде:

  • Развёртывание NACOS: блог.
  • Cenos7: установка Docker.
  • Docker: установка MySQL.
  • Docker: установка Redis.
  • Cenos7: установка Nginx.

4.3 Другие рекомендации:

  • OpenJDK11: установка (рекомендуется использовать ту же версию JDK, что и на сервере).
  • IDEA: настройка внешних зависимостей (SpringBoot поддерживает настройку внешних файлов зависимостей, можно напрямую настроить переменные среды в IDEA без необходимости изменять bootstrap.yml вручную).

5. Предварительный просмотр проекта К сожалению, не удалось найти изображения, указанные в тексте запроса. | | | | :-- |:-- | |

|| | ||

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

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

Введение

Базовая система управления микросервисами с правами RBAC. Технологический стек бэкенда включает Spring Cloud, OAuth2, Nacos, Spring Boot и Spring MVC. Фронтенд разработан с использованием популярных технологий: Vue, Vuex, Element-UI и Axios. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

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

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