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

OSCHINA-MIRROR/ITEater-vinus-spring-boot-starter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 13:50 9ec14cf

Винус-Спринг-Бут-Стартер: волшебная палочка для разработчиков Али-Облака

Стартер Винус-Спринг-Бут: введение

Винус-Спринт-Бут-стартер — это набор инструментов для разработки на Spring Boot, который упрощает работу с продуктами Али-Облака. В настоящее время он включает в себя модули AFS (Captcha), SMS, OSS и STS. Разработчик планирует добавить больше модулей в будущем.

Архитектура и требования

  • Версия: 0.4.1
  • Java: Java 1.8+
  • Maven: Maven 3.2.5+
  • Spring Boot: Spring Boot 2.0.0.RELEASE+
  • Али-Ядро: Aliyun Core 4.2.5
  • Али-OSS: Aliyun OSS 3.5.0
  • Али-STS: Aliyun SMS 1.1.0

Конфигурация системы

Конфигурация системы зависит от модуля и включает три основных параметра:

  • accessKeyId;
  • accessKey Secret;
  • regionId (необязательный).

Эти параметры необходимы для доступа к каждому модулю. Они предоставляются при создании субаккаунта в системе управления доступом Али-Облака (см. Управление доступом).

Для модуля AFS (Captcha) требуется дополнительная конфигурация: appKey и scene.

Модуль OSS требует настройки следующих параметров:

  • default bucket;
  • endpoint;
  • oss proxy timeout;
  • bucket and domain mapping.

В конфигурации SMS необходимо указать:

  • endpoint;
  • sms product type (Dysmsapi);
  • sending domain (dysmsapi.aliyuncs.com).

STS модуль требует настройки:

  • сопоставления ресурсов и ролей Али-Облака;
  • имени роли сессии;
  • временного разрешения.

Установка

  1. Скачайте проект и установите его с помощью команды mvn install.
  2. Добавьте зависимость в файл pom.xml:
<dependency>
    <groupId>com.kuding</groupId>
    <artifactId>vinus-spring-boot-starter</artifactId>
    <version>0.4.1</version>
</dependency>
  1. Настройте проект в файле application.properties или application.yml.
  2. Для включения модуля AFS (Captcha):
vinus.enable-aliyun-captcha=true
aliyun.captcha.access-key-id=ваш accessId
aliyun.captcha.secret=ваш access-secret
aliyun.captcha.region-id=cn-hangzhou
aliyun.captcha.app-key=ваш appKey
aliyun.captcha.scene=тип проверки
  1. Для включения SMS модуля:
vinus.enable-aliyun-sms=true
aliyun.sms.access-key-id=ваш accessId
aliyun.sms.secret=ваш access-secret
aliyun.sms.region-id=cn-hangzhou
  1. Для включения OSS модуля:
vinus.enable-aliyun-oss=true
aliyun.oss.access-key-id=ваш accessId
aliyun.oss.secret=ваш access-secret
aliyun.oss.default-bucket=my-bucket
aliyun.oss.policy-timeout=30m
aliyun.oss.end-point=oss-cn-xxx.aliyuncs.com
  1. Модуль STS пока не рассматривается.

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

Основные классы проекта: XxxComponent. Основные классы модулей:

  • AFS (Captcha): AliCaptchaComponent;
  • SMS: SmsComponent;
  • OSS: OssComponent;
  • STS: StsComponent.

AFS (Captcha) Основной метод: public boolean check(HttpServletRequest httpServletRequest, CaptchaContent capcha). Метод обрабатывает запрос с использованием информации из HttpServletRequest. CaptchaContent используется для проверки. Поддерживается только проверка на ПК.

SMS Основной метод: public void doSendSms(String phone, String smsSignature, String templateCode, Map<String, String> map). Параметры:

  • phone — номер телефона;
  • smsSignature — подпись сообщения;
  • templateCode — код шаблона;
  • map — параметры. Подпись сообщения обычно фиксирована. Код шаблона можно управлять с помощью enum. Пример:
public enum SmsTemplate {

MODIFY_PWD("SMS_120270002"), CREATE_USER("SMS_172223677"), RESET_PWD("SMS_162524221"), INIT_SAAS("SMS_162546827");;

private final String template;

public String getTemplate() {
    return template;
}

private SmsTemplate(String template) {
    this.template = template;
}

}

OSS OSS — самый используемый модуль проекта. Для большинства случаев требуется прямая загрузка через веб-интерфейс. Сервер должен предоставить временную политику авторизации для веб-клиента. Веб-клиент может использовать эту политику для прямой загрузки. Процесс описан в документации Али-Облака: https://help.aliyun.com/document_detail/112718.html. Временная политика авторизации хранится в классе OssPolicy. createExplainPicPolicy() { OssPolicy ossPolicy = ossComponent.createOssPolicy("文件目录", "my-bucket"); return ResponseStatusEnum.SUCCESS.createResultModel(ossPolicy); }

Первый параметр — это какой файл каталога, второй параметр — какой bucket.

Конечно, для OSS в некоторых случаях требуется, чтобы сервер выполнял загрузку информации. Эта часть очень гибкая. OSS может не только загружать файлы, но и загружать любой формат текста (JSON, XML, HTML и т. д.). Если вы загружаете JSON, то его получение также осуществляется через стандартный интерфейс RESTful. Для оплаты в конфигурации OSS необходимо добавить нужные заголовки (например, content-type). Например:

/**
 * 将一个字符串上传到oss
 * 
 * @param object
 * @param contentType
 * @param path
 * @return
 */
public String putStringToOss(String object, ContentType contentType, String path)

Примечание:

Этот фреймворк также довольно прост. Основная идея заключается в том, чтобы сделать компоненты Alibaba Cloud модульными. Это преимущество упрощает интеграцию с другими фреймворками (Spring Cloud) и облегчает управление с помощью консоли Alibaba Cloud. Я также рассматриваю это как предложение идеи. Если у вас есть другие потребности в разработке модулей Alibaba Cloud, вы можете оставить мне сообщение, и я посмотрю, как это можно реализовать.

Я сейчас очень занят, поэтому документацию по этому фреймворку я буду периодически обновлять.

Fork me on Gitee

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/ITEater-vinus-spring-boot-starter.git
git@api.gitlife.ru:oschina-mirror/ITEater-vinus-spring-boot-starter.git
oschina-mirror
ITEater-vinus-spring-boot-starter
ITEater-vinus-spring-boot-starter
master