Если вы хотите добавить систему единого входа в консоль администрирования при использовании пользовательского интерфейса ElasticJob, эта статья поможет вам решить эту проблему управления пользователями с помощью встроенного Casdoor пользовательского интерфейса ElasticJob.

Фон

ElasticJob UI — это визуальная административная консоль ElasticJob, целевыми пользователями которой являются разработчики и команды DevOps, а не пользователи. Как правило, он развертывается только во внутренней среде, поэтому его исследования и разработки больше сосредоточены на его функциях.

Любой проект с открытым исходным кодом неизбежно станет объектом интереса исследователей безопасности. Ранее исследователи безопасности сообщали о многих проблемах безопасности пользовательского интерфейса ElasticJob сообществу Apache ShardingSphere, не рассматривая его реальный сценарий использования.

После тщательных размышлений о том, что делать с этими отчетами об уязвимостях системы безопасности, сообщество решило прекратить поддержку пользовательского интерфейса ElasticJob.

Члены сообщества Casdoor заметили нашу дискуссию о прекращении поддержки пользовательского интерфейса ElasticJob и подумали, что деактивация пользовательского интерфейса ElasticJob будет потерей из-за нереалистичных отчетов о безопасности.

Если пользовательский интерфейс ElasticJob будет подключен к Casdoor, он будет улучшен с точки зрения безопасности аутентификации и функций. В этом контексте сообщество Casdoor и Apache ShardingSphere достигло консенсуса в отношении сотрудничества.

Как подключить интерфейс ElasticJob к Casdoor?

Шаг 1. Разверните Casdoor

Исходный код Casdoor находится на GitHub, а его режим загрузки включает режим разработки и режим производства. В качестве примера здесь взят режим разработки. Пожалуйста, перейдите по этой ссылке для более подробной информации.

Режим внутренней загрузки

go run main.go

Режим загрузки через интерфейс

cd web
yarn install
yarn start

Шаг 2: Настройте Casdoor и получите необходимые данные

Красные стрелки указывают, что требуется для конфигурации бэкэнда, а «URL-адреса перенаправления» относятся к адресу, по которому вы выполняете обратный вызов.

Нам также нужно найти соответствующий сертификат, который мы выбрали в опции сертификата, например cert-build-in здесь. Сертификат тоже нужен.

Для получения дополнительной документации Casdoor перейдите по этой ссылке.

Шаг 3. Настройка в пользовательском интерфейсе ElasticJob.

Найдите application.properties в shardingsphere-elasticjob-ui и настройте его.

Вставьте данные, которые мы получили от Casdoor, в соответствующую позицию следующим образом:

Теперь мы можем использовать Casdoor в пользовательском интерфейсе ElasticJob.

Как только консоль администратора ElasticJob подключится к Casdoor, она будет поддерживать централизованный доступ к удостоверениям/единый вход на основе пользовательского интерфейса на основе OAuth 2.0, OIDC и SAML.

Благодаря разработчикам из сообщества Casdoor и Apache ShardingSphere наше сотрудничество проходит гладко и дружелюбно. Сначала jakiuncle из Casdoor предложил задачу и совершил PR, а затем PR рассмотрели наш коммиттер TeslaCN и ЧВК tristaZero. Это сотрудничество между сообществами является свидетельством красоты открытого исходного кода.

О пользовательском интерфейсе ElasticJob

ElasticJob — это решение для распределенного планирования, ориентированное на интернет-приложения и массовые задачи.

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

ElasticJob-UI — это визуальная консоль администратора ElasticJob, поддерживающая динамическую настройку, управление заданиями и контроль, поиск истории заданий и другие функции.

🔗 Гитхаб

О Casdoor

Casdoor — это платформа управления доступом к удостоверениям (IAM) / единого входа (SSO) с UI-first, основанная на OAuth 2.0 / OIDC. Casdoor может помочь вам решить проблемы с управлением пользователями. Нет необходимости разрабатывать ряд функций аутентификации, таких как вход пользователя в систему и регистрация. Он может полностью управлять пользовательским модулем за несколько простых шагов в сочетании с хост-приложением. Это удобно, просто в использовании и мощно.

🔗 Гитхаб