Модуль управления пользователями предоставляет EdgeGallery платформе функции регистрации и входа пользователей, восстановления пароля, центра учетной записи, управления списками пользователей, верификации электронной почты и мобильных телефонов.
Модуль управления пользователями определяет модели ролей и прав доступа пользователей, включая:
Арендатор — обычный пользователь внутри системы, который может создавать проекты/загружать приложения и т.д., данные арендаторов между собой не могут взаимодействовать.
Администратор — системный администратор, который может выполнять операции управления и обслуживания данных приложений системы.
Гость — по умолчанию имеет права гостя при прямом доступе к порталу, что позволяет просматривать базовые функции всех платформ, но не позволяет выполнять действия создания, редактирования и удаления.
Суперадминистратор — система содержит встроенный по умолчанию пользователя admin
, который является суперадминистратором платформы. Этот пользователь может управлять другими пользователями, осуществлять единое управление всеми зарегистрированными пользователями, отключать/включать пользователей и устанавливать права доступа пользователей.Новый зарегистрированный пользователь по умолчанию имеет права "арендатор". Права "администратор" можно получить только через функцию управления списками пользователей суперадминистратором admin.
Основные характеристики модуля управления пользователями можно просмотреть здесь: Проект управления пользователями: дизайн характеристик.
Служба User Management предоставляет внешние RESTful API, разработана на основе открытого микросервисного фреймворка ServiceComb и интегрирована со Spring Boot. Это позволяет запускать микросервисы локально для удобства тестирования.
1. Подготовка среды: Необходимые для установки инструменты и ссылки для скачивания представлены ниже в таблице.| Название | Версия | Ссылка | | ---- | ---- | ---- | | OpenJDK 1.8 | 1.8.0 | скачать | | Apache Maven | 3.6.3 | скачать | | IntelliJ IDEA | Community | скачать | | Servicecomb Service-Center | OnClickListener 1.3.2 | скачать | | PostgreSQL | 10 или выше | скачать | | Redis | 3.2.100 или выше | скачать |
2. Получение исходного кода: Используйте git clone
или скачайте архив с исходным кодом User Management на свой компьютер. По умолчанию используется ветка master.Сначала вам потребуется скачать и скомпилировать родительский проект pom:
git clone https://gitee.com/edgegallery/eg-parent.git
mvn install
Затем скачайте текущий проект User Management:
git clone https://gitee.com/edgegallery/user-mgmt.git
Настройка ServiceCenter: User Management использует открытый ServiceComb для разработки. При запуске сервис автоматически регистрируется в указанном ServiceCenter, который предоставляет возможности регистрации и открытия сервиса для других микросервисов. Перед запуском модуля управления пользователями (User Management) необходимо сначала запустить ServiceCenter локально.
Сначала скачайте ServiceCenter. Если используется Windows, выберите версию Binary для Windows, после скачивания распакуйте архив;
Дважды щелкните по файлам start-service-center.bat
и start-frontend.bat
для запуска ServiceCenter и визуального панели управления локально, доступ к ним осуществляется через браузер по адресу http://127.0.0.1:30103
, по умолчанию порт запуска ServiceCenter равен 30100;
Для запуска службы User Management локально требуется добавить следующие переменные окружения для подключения к SC (Service Center):
SC_ADDRESS: адрес подключения к SC. По умолчанию для локальной установки SC это http://127.0.0.1:30100
```**4. Настройка базы данных PostgreSQL:** Модуль управления пользователями использует открытую базу данных [PostgreSQL](https://www.postgresql.org/) для хранения информации о пользователях; при локальном запуске требуется её предварительная установка.- Рекомендуется использовать этот [гайд по установке и запуску PostgreSQL](https://www.runoob.com/postgresql/windows-install-postgresql.html), выбирать версию 9.6 или выше;
- Используйте файл `/src/main/resources/usermgmtdb.sql` для инициализации структуры таблиц базы данных;
- Используйте файл `/src/main/resources/usermgmtdb-data.sql` для инициализации начальных данных пользователей;
- Для запуска службы User Management локально требуется добавить следующие переменные окружения для подключения к базе данных:
POSTGRES_IP: IP-адрес подключения к базе данных. Для локальной установки обычно используется адрес localhost: 127.0.0.1
POSTGRES_PORT: порт подключения к базе данных. Может не указываться, используется значение по умолчанию 5432
POSTGRES_USERNAME: имя пользователя базы данных
POSTGRES_PASSWORD: пароль пользователя базы данных
**5. Настройка базы данных Redis:** Модуль управления пользователями использует базу данных Redis для хранения графических каптч, SMS и email-верификаций; при локальном запуске требуется её предварительная установка.
- Рекомендуется использовать этот [гайд по установке и запуску Redis](https://www.runoob.com/redis/redis-install.html);
- Для запуска службы User Management локально требуется добавить следующие переменные окружения для подключения к Redis:
REDIS_IP: IP-адрес подключения к Redis. Для локальной установки обычно используется адрес localhost: 127.0.0.1
REDIS_PASSWORD: пароль подключения к Redis. Если Redis не защищен паролем, может не указываться.
### Конфигурация клиента бизнес-платформы:
User Management используется как единственный сервер аутентификации (Auth Server), а каждая бизнес-платформа — как клиент аутентификации (Auth Client). Для локального запуска бизнес-платформы конфигурационные данные для соответствующего клиента должны быть добавлены в User Management.
- Если требуется локальный запуск AppStore, то User Management должен быть настроен следующими переменными окружения:
OAUTH_APPSTORE_CLIENT_ID: ID клиента для бизнес-платформы AppStore, который может быть установлен на фиксированное значение appstore-fe. Также можно не указывать эту переменную, тогда она будет установлена по умолчанию на appstore-fe.
OAUTH_APPSTORE_CLIENT_SECRET: Секретный ключ клиента для бизнес-платформы AppStore, который следует самостоятельно определить. При этом важно, чтобы этот секретный ключ совпадал с тем, что указан в бизнес-платформе при её запуске.
OAUTH_APPSTORE_CLIENT_URL: URL для подключения к бизнес-платформе AppStore, например http://x.x.x.x:30091
OAUTH_APPSTORE_CLIENT_ACCESS_URL: Эта переменная предназначена для режима прокси-доступа. В обычном режиме доступа она должна совпадать со значением OAUTH_APPSTORE_CLIENT_URL.
- ### Копирование ресурсов фронтенда
Текущий проект представляет собой backend управления пользователями, поэтому необходимо скопировать ресурсы фронтенда в директорию ресурсов backend.
- Чтобы скомпилировать ресурсы фронтенда управления пользователями, обратитесь к следующей ссылке:
[https://gitee.com/edgegallery/user-mgmt-fe/blob/master/README.md](https://gitee.com/edgegallery/user-mgmt-fe/blob/master/README.md)
- После успешной компиляции скопируйте содержимое директории dist в директорию /src/main/resources/static backend.
- ### Локальный запуск
Запустите основную функцию в файле /src/main/java/org/edgegallery/user/auth/MainServer.java, чтобы запустить управление пользователями.
При успешном запуске вы сможете отдельно получить доступ к интерфейсу управления пользователями:
http://x.x.x.x:8067/index.html
## Развертывание в среде Kubernetes
Вы также можете создать Docker-образ сервиса управления пользователями и развернуть его в Linux-среде или кластере Kubernetes.
Для этого воспользуйтесь проектом [helm_charts](https://gitee.com/edgegallery/helm-charts/tree/master/edgegallery)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )