Оформление
Аутентификация HTTP - Справочная документация FineReport|Разработка отчетов|Использование отчетов|Учебные пособия
Аутентификация по протоколу HTTP
1. Обзор
1.1 Версия
| Версия сервера FineBI | Функциональные изменения |
|---|---|
| 6.0 | - |
1.2 Сценарии применения
Пользователи не хотят использовать встроенную в платформу аутентификацию и хотят настроить ее под себя. Например, пользователь интегрирует единый шаблон в свою систему и хочет сам контролировать аутентификацию.
1.3 Функциональный профиль
Если включена HTTP-аутентификация, платформа шифрует вводимые имя пользователя и пароль и передает их на сервер HTTP-аутентификации, который возвращает результат аутентификации платформе после завершения аутентификации в соответствии с заданной логикой.
Примечание: Суперадминистраторы не подвержены HTTP-аутентификации и по-прежнему используют встроенную в платформу аутентификацию.

2. Аутентификация через узел
2.1 Загрузите файл сертификации
1) Нажмите, чтобы загрузить: http-authentication.zip
2) Распакуйте загруженный zip-файл и сохраните его в локальной директории, например E:\HTTP, как показано на рисунке ниже:

МетодHTTP-аутентификации можно увидеть в файле http-authentication\node\auth.js, как показано ниже:

Логика прохождения аутентификации в этой главе заключается в том, что имя пользователя и пароль должны быть одинаковыми, чтобы нормально войти в систему платформы.
Пользователи могут изменять стандартную логику аутентификации в auth.js if (content.username === content.password) в соответствии со своими реальными потребностями.
2.2 Запуск сервера
Откройте командную строку и введите следующую команду для запуска сервера:
1) Сначала вам нужно установить npm, процесс установки здесь подробно не описан.
2) Перейдите по пути http-authentication\node:
Примечание: Следующая команда вводитпутьE:\HTTP\http-authentication\node, а пользователь может ввести путь, где хранится распакованный файл, в зависимости от реальной ситуации.
e.cd E:\HTTP\http-аутентификация\node3) Установка зависимостей
npm install4) Сгенерируйте открытый и закрытый ключи, сгенерированный ключ будет выведен в файл key.txt:
npm run key5) Запустите сервер. Первые две команды нужны только для первой инициализации, но в дальнейшем вы сможете запустить сервер напрямую с помощью npm start:
npm start
Сертифицировано на сайте http://0.0.0.0:3000/
2.3 Получение открытого ключа
После успешного запуска сервера откройте файл key.txt в папке Node и скопируйте открытый ключ, как показано ниже:

2.4 Включение HTTP-аутентификации для платформ принятия решений
Администратор входит в систему Data Decision System, нажимает "Management System > User Management > Global Settings", выбирает "HTTP Authentication", вводит адрес аутентификации и открытый ключ и нажимает "Save". Как показано на рисунке ниже:
Примечание: Опция Http Authentication не требует ввода пароля, поэтому при добавлении пользователей вручную или импорте пользователей в синхронизированный набор данных пароль вводить не нужно.

2.5 Эффекты просмотра
После нажатия кнопки "Сохранить" появится сообщение о том, что данные для входа недействительны, и необходимо снова войти в систему FineBI.
Введите имя пользователя, которое уже существует в "Управлении пользователями" платформы на странице входа. Если пароль и имя пользователя совпадают, вход будет успешным; если пароль и имя пользователя не совпадают, вход будет неудачным.
3. Сертификация через Java
Два метода аутентификации, описанные в этой главе, передают логику, что имя пользователя и пароль одинаковы, чтобы нормально войти в систему платформы.
3.1 Метод 1: Выполнение проекта с исходным кодом
3.1.1 Загрузка файла аутентификации
Скачайте и распакуйте файл: http-authentication-java.zip
3.1.2 Эксплуатационная техника
С помощью IDEA или Eclipse откройте файл pom.xml , то есть откройте проект, а затем запустите WebServerMain, как показано ниже:

3.1.3 Дублирование открытых ключей
После успешного запуска сервера откройте файл key.txt в каталоге компиляции (target ) и скопируйте publickey на платформу принятия решений по адресу сервера:http://0.0.0.0:9090/, как показано на следующем рисунке:
Примечание: Если вы изменили файл key.txt, запустите KeyGeneratorMain, а затем скопируйте publicKey из файла key.txt в каталоге компиляции (target) на платформу решения.

3.1.4 Просмотр эффектов
После нажатия кнопки "Сохранить" вам будет предложено выйти из системы и снова войти в платформу.
Введите имя пользователя, которое уже существует в "Управлении пользователями" платформы на странице входа. Если пароль и имя пользователя совпадают, вход будет успешным; если пароль и имя пользователя не совпадают, вход будет неудачным.
3.2 Метод 2: работа с командной строкой
3.2.1 Загрузка файлов
1) Нажмите, чтобы загрузить пакет JAR: http-authentication-java.jar
2) Распакуйте загруженный JAR-файл в папку с помощью WinRAR, как показано ниже:
Примечание: Путь, по которому будут расположены файлы после распаковки, не должен содержать китайских иероглифов и пробелов.

3.2.2 Запуск файлов
В командной строке укажите путь, по которому находятся извлеченные файлы, и введите java WebServerMain для запуска сервера, как показано ниже:
Примечание: Убедитесь, что у вас есть локальная среда Java.

3.2.3 Дублирование открытых ключей
1) После успешного запуска сервера откройте файл key.txt и скопируйте открытый ключ, как показано ниже:

2) Вставьте скопированный публичный ключ в платформу с адресом сервера: http: //0.0.0.0:9090/, как показано ниже:

3.2.4 Эффекты просмотра
После нажатия кнопки "Сохранить" вам будет предложено выйти из системы и снова войти в платформу.
Введите имя пользователя, которое уже существует в "Управлении пользователями" платформы на странице входа. Если пароль и имя пользователя совпадают, вход будет успешным; если пароль и имя пользователя не совпадают, вход будет неудачным.