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

OSCHINA-MIRROR/SYDeament-ybg_auth

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

YBG_Auth: разработка на основе стандартной модели OAuth2

Проект

На основе открытого исходного кода Pig была проведена модернизация, и для разработки использовался SpringBoot. Уровень сложности для начала работы: более 2 лет опыта разработки.

Требования к фреймворку

Обычно традиционного Spring MVC достаточно для удовлетворения разнообразных потребностей небольших систем. По мере развития компании будут разрабатываться другие системы, а затем часть кода полномочий будет скопирована и использована с добавлением собственной логики для создания новой системы. Однако возникает новая проблема: полномочия и бизнес-логика слишком тесно связаны, что затрудняет разделение старой системы полномочий и создание новой. Кроме того, необходимо использовать существующие учётные записи системы и другие сложные факторы, что делает создание нового фреймворка необходимым.

Используя стандартную модель OAuth2, мы достигаем разделения полномочий и бизнеса. С помощью простой настройки можно контролировать бизнес-полномочия.

Архитектура программного обеспечения

Используются следующие технологии: SpringBoot, SpringSecurityOauth2, Redis, MybatisPlus, MySQL, NodeJS, Vue-CLI, ElementUI.

Каталог

  • YBG_Auth — центр авторизации (сервер авторизации и управление полномочиями).

  • YBG_Auth_Admin — управление ролями пользователей и полномочиями на стороне сервера (перемещено в центр авторизации в версии 4.2).

  • YBG_Weixin — платформа управления несколькими аккаунтами Weixin, объединяющая несколько подписных номеров Weixin, несколько публичных аккаунтов Weixin, несколько сторонних открытых платформ, несколько мини-программ и несколько платёжных сервисов Weixin в единую базовую структуру. Поддерживает разделение данных по публичным аккаунтам (разработаны только функции управления поклонниками и маркировки, предприятия могут настраивать функции разделения данных).

  • YBG_Auth_adminUI — интерфейс управления ролями пользователей на стороне клиента, разработанный с использованием Node.js. Порт по умолчанию — 8000.

Дизайн архитектуры

Архитектура

Среда разработки

  1. Eclipse (последняя версия).
  2. Maven 3.3.9+.
  3. JDK 8.
  4. Redis и клиент Redis (RedisDesktopManager).
  5. MySQL 5.7 и Navicat.
  6. Tortoise SVN.
  7. Python.
  8. Node.JS.

Производственная среда

  1. Maven 3.3.9+.
  2. JDK 8.
  3. Redis.
  4. MySQL 5.7.
  5. Jenkins.
  6. Nginx.

Установка

  1. Как импортировать проект? См. https://gitee.com/YYDeament/88ybg/wikis/Home.
  2. Как установить среду разработки, включая Redis и Node.JS? Обратитесь к документации.
  3. Порядок запуска: YBG_Auth → YBG_Auth_Admin (не требуется в версии 4.2) → YBG_Auth_adminUI.
  4. Страница разработки проекта: http://localhost:8000.

Развёртывание

  1. Не разглашается (платная услуга).

Использование

  1. Установите необходимые компоненты среды разработки и убедитесь, что Redis и MySQL запущены. Если это удалённые Redis и MySQL, убедитесь, что у вас есть права доступа к удалённому доступу.
  2. Импортируйте файлы базы данных. Если импорт не удаётся, уменьшите размер байтов для типа данных varchar, а после импорта верните его обратно.

Сначала импортируйте в базу данных, имя которой uplus_auth, кодировка базы данных — utf8mb4.

Импорт базы данных

  1. Запустите проект YBG_Auth.

    • Импортируйте проект, следуя инструкциям на странице https://gitee.com/YYDeament/88ybg/wikis/Home.
    • Измените файл application-dev.properties в проекте YBG_Auth, чтобы настроить параметры базы данных и Redis.
    • Щёлкните правой кнопкой мыши на /uplus-auth/src/main/java/com/uplus/AuthApplication.java и выберите «Run as Java Application», чтобы запустить проект.
  2. Запустите проект YBG_Auth_Admin. - Импортируйте проект, следуя инструкциям на странице https://gitee.com/YYDeament/88ybg/wikis/Home. - Измените файл application-dev.properties в проекте YBG_Auth_Admin, чтобы настроить параметры базы данных и Redis. - Щёлкните правой кнопкой мыши на /uplus-auth-admin/src/main/java/com/uplus/AuthAdminApplication.java и выберите «Run as Java Application», чтобы запустить проект.

  3. Запустите YBG_Auth_adminUI:

    • После импорта проекта перейдите в каталог кода YBG_Auth_adminUI.
    • Скомбинируйте Shift+правый клик, как показано на рисунке.

    Запуск YBG_Auth_adminUI

    • Введите npm i, чтобы выполнить команду npm install (если версия Node слишком высока, вам может потребоваться установить последнюю версию Python).
    • Выполните npm run dev, чтобы запустить локальную отладку.

Текущая версия: 4.2

История версий:

  • v4.2.0 (6 апреля 2019 г.) Обновлён центр авторизации и центр аутентификации в один, нет необходимости управлять полномочиями через два сервиса. Добавлена базовая версия платформы управления несколькими аккаунтами Weixin. Различные аккаунты Weixin поддерживают разделение данных.

  • v4.1.0 (24 ноября 2018 г.) Обновлено до Springboot 2 и MyBatis Plus 3.0.6. Автор считает, что размещение запросов клиентов на передней части небезопасно, поэтому запросы на информацию о пользователях выполняются на сервере ресурсов, который затем запрашивает токен доступа у сервера аутентификации, обеспечивая безопасность системы. Это основная функция версии 4.1. Версия 4.1 использует Springboot2, и способ аутентификации паролей отличается от Springboot1.5. Springboot 1.5 требует, чтобы клиент передавал заголовок запроса basic, тогда как Springboot2.0 не принимает этот метод и требует передачи clientId и clientSecret в качестве параметров на сервер аутентификации. Это серьёзная проблема, требующая изучения исходного кода или документации. Кроме того, jredis используется по умолчанию для Redis в Springboot1.5, а не в Springboot2. Поэтому необходимо внести изменения для нормального использования Redis. Для получения дополнительной информации см. историю изменений кода.

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

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

Введение

Реализация полномочий и бизнес-логики отдельно друг от друга. Разработка на основе Spring Boot OAuth2. Развернуть Свернуть
MIT
Отмена

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

все

Участники

все

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

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