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

OSCHINA-MIRROR/tianai-tianai-captcha-springboot-starter

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

Это перевод текста на русский язык:

Это класс запуска springboot для проверки кода captcha (tianai-captcha)

Онлайн-опыт (https://www.tianai.cloud)

Онлайн-документ (http://doc.captcha.tianai.cloud)

Демо-версия captcha (tianai-captcha-demo) (https://gitee.com/tianai/tianai-captcha-demo)

Быстрый старт

<!-- maven导入 -->
<dependency>
    <groupId>cloud.tianai.captcha</groupId>
    <artifactId>tianai-captcha-springboot-starter</artifactId>
    <version>1.5.1</version>
</dependency>
package cloud.tianai.captcha.readme;

import cloud.tianai.captcha.common.constant.CaptchaTypeConstant;
import cloud.tianai.captcha.spring.application.CaptchaImageType;
import cloud.tianai.captcha.spring.application.ImageCaptchaApplication;
import cloud.tianai.captcha.spring.vo.CaptchaResponse;
import cloud.tianai.captcha.spring.vo.ImageCaptchaVO;
import cloud.tianai.captcha.validator.common.model.dto.ImageCaptchaTrack;
import org.springframework.beans.factory.annotation.Autowired;

public class Test2 {
    @Autowired
    private ImageCaptchaApplication application;

    public void test() {
        // Генерация кода captcha типа «слайдер»
        CaptchaResponse<ImageCaptchaVO> res1 = application.generateCaptcha(CaptchaTypeConstant.SLIDER);

        // Проверка соответствия кода captcha
        // Этот параметр содержит данные о траектории движения ползунка, которые используются для проверки кода captcha. Передаётся с переднего плана.
        ImageCaptchaTrack sliderCaptchaTrack = new ImageCaptchaTrack();
        ApiResponse<?> match = application.matching(res1.getId(), sliderCaptchaTrack);
    }
}
  • Эффект отображения на переднем плане

Описание файла конфигурации springboot

# Конфигурация кода captcha «слайдер», подробнее см. класс cloud.tianai.captcha.autoconfiguration.ImageCaptchaProperties
captcha:
  # Если в проекте используется redis, код captcha будет автоматически сохранён в redis. Здесь задаётся префикс ключа redis, по умолчанию — captcha:slider
  prefix: captcha
  # Время истечения срока действия кода captcha, по умолчанию 2 минуты, в миллисекундах. Можно настроить в соответствии с бизнес-требованиями.
  expire:
    # По умолчанию срок хранения составляет 2 минуты
    default: 10000
    # Для кода captcha с выбором слова время истечения устанавливается на 2 минуты. Поскольку проверка кода captcha занимает больше времени, рекомендуется увеличить время хранения.
    WORD_IMAGE_CLICK: 20000
  # Использовать ресурсы, предоставляемые системой, по умолчанию false
  init-default-resource: false
  # Включить управление кешем, по умолчанию false не включено
  local-cache-enabled: true
  # Код captcha заранее сохраняет некоторые сгенерированные данные, по умолчанию 20
  local-cache-size: 20
  # После неудачной попытки извлечения из кеша подождите некоторое время, по умолчанию 5 секунд
  local-cache-wait-time: 5000
  # Интервал проверки кеша, по умолчанию 2 секунды
  local-cache-period: 2000
  # Настроить шрифт для библиотеки шрифтов, шрифт для кода captcha с выбором слов, можно настроить несколько
  font-path:
    - classpath:font/simhei.ttf
  secondary:
    # Вторичная проверка включена, по умолчанию false отключена
    enabled: false
    # Срок действия вторичной проверки, по умолчанию 2 минуты
    expire: 120000
    # Префикс ключа вторичной проверки, по умолчанию captcha:secondary
    keyPrefix: "captcha:secondary"

Пользовательские расширения

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

  • Генератор (ImageCaptchaGenerator) — отвечает за создание изображений для кода captcha типа слайдер.
  • Валидатор (ImageCaptchaValidator) — отвечает за проверку действий пользователя при перемещении ползунка на соответствие требованиям.
  • Менеджер ресурсов (ImageCaptchaResourceManager) — отвечает за чтение фоновых изображений и изображений шаблонов для кода captcha.
  • Хранилище ресурсов (ResourceStore) — отвечает за хранение фоновых изображений и изображений шаблонов.
  • Поставщик ресурсов (ResourceProvider) — отвечает за преобразование ресурсов хранилища в потоки файлов.
  • Приложение кода captcha (ImageCaptchaApplication), которое объединяет и расширяет вышеупомянутые интерфейсы. Например, оно отвечает за сохранение данных проверки в кеше. Обычно пользователи напрямую используют это приложение для создания изображений кода captcha и проверки данных.

Некоторые расширения на основе tianai-captcha по умолчанию

  • SpringMultiImageCaptchaGenerator — расширение на основе Spring для генерации нескольких кодов captcha.

    • Расширение на основе MultiImageCaptchaGenerator.
    • Можно реализовать ImageCaptchaGeneratorProvider и внедрить его в spring, чтобы создать пользовательское расширение кода captcha или заменить существующую реализацию.
  • SecondaryVerificationApplication — расширение для вторичной проверки.

    • Расширение на основе ImageCaptchaApplication. Реализует функцию вторичной проверки, которая по умолчанию отключена.
    • Может быть включена вручную через конфигурацию captcha.secondary.endbled=true. Пример использования:
package cloud.tianai.captcha.readme;

import cloud.tianai.captcha.spring.application.ImageCaptchaApplication;
import cloud.tianai.captcha.spring.plugins.secondary.SecondaryVerificationApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

public class Test3 {
    @Autowired
    private ImageCaptchaApplication sca;

    @GetMapping("/check2")
    @ResponseBody
    public boolean check2Captcha(@RequestParam("id") String id) {
        // Если включена вторичная проверка
        if (sca instanceof SecondaryVerificationApplication) {
            return ((SecondaryVerificationApplication) sca).secondaryVerification(id);
        }
        return false;
    }
}

Прочее

  • Этот автоматический конфигуратор может автоматически выбирать между использованием redis для кеширования или локальным кешированием, а также автоматически выполнять распознавание и настройку.

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

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

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

все

Участники

все

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

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