Spring Boot検証コードフレームCAPTCHA詳細
CAPTCHA
Gigthub倉庫を調べます𞓜Gite倉庫を見る;
概要
マンマシン識別と検証コードはバックエンド開発において保護インターフェースの最も一般的な方法の一つであり、このようなコードはしばしば業務コードと結合してプロジェクトのメンテナンス性が悪くなる。
CAPTCHAは、Spring Bootに基づく検証コードの枠組みであり、AOPによって検証コードの生成、送信、記憶などの検証コードを含む関連サービスを完了し、業務コードとの結合を回避する。
開発者は、異なるコンポーネントの組み合わせによって検証サービスを容易に行うことができ、自身のサービスニーズ(例えば、メール検証コード、ショートメッセージ検証コード)に対応するためにカスタマイズを行うことができる。
コードの例
導入Maven依存
CAPTCHAは切断面向けプログラミング(AOP)思想に基づいて、検証コードサービスを二つの断面に分けます。は、認証コード を生成する。保存検証コード は、認証コード を送信する。認証コードを読み出す による検証
同時に検証コード業務を以下のいくつかのインターフェースに抽象化する: 例
ランダム文字画像検証コードのAOPを実現しました。
業務分析 クライアントアクセス認証コードインターフェースは画像を取得し、バックエンドサービスは生成した検証コードをSessionまたはRedisに格納する。 クライアントアクセスインターフェース(ログイン、登録など)、着信パラメータおよび検証コード、バックエンドサービスは検証コードを取り出して検証する。 モジュール区分
インターフェース
実現する
機能/説明
コード
コード<String>
文字列型コードには、検証コード名、検証コード値があります。認証コード名は、異なるサービスを区別するための認証コードです。)
CodeGenerator
RandomString CodeGenerator
ランダム文字列を生成し、パラメータ設定文字列および長さを使用します。
CodeSender
ImageCodeSender
画像(ランダム文字、妨害線)を描画し、Resonseに出力します。
CodeStore
HttpSession CodeStore
Sessionに基づいて検証コードを保存し、取り出す。
Code Verifer
StringEquals CodeVer ifeier
文字列比較の検証は、パラメータ構成によって、文字の大きさや文字の大きさに敏感かどうか、およびtrimかどうかを確認します。
業務ロジック
@SendCodeは、 は、 は、 は、業務コードを実行する。 @VerifyCodeは、要求パラメータから検証すべき検証コードを取得する。 は は 認証が完了すると、業務コードが実行され、異常が発生します。 展開と組合せ
画像認証コード(ヒューマンマシン識別)以外に、一般的な検証コードサービスまたはパーソナルマシン識別サービスは、例えば、ショートメールの検証コード、メールの検証コード、GoogleのreCAPTCHA人機識別など、これらのインターフェースを実現することによって業務を遂行することができる。
例えば、Redisストレージ検証コードを使用するには、
ここでSpring Boot検証コードの枠組み-CAPTCHAに関する記事を紹介します。Spring Boot検証コードの枠組みの内容は以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。
Gigthub倉庫を調べます𞓜Gite倉庫を見る;
概要
マンマシン識別と検証コードはバックエンド開発において保護インターフェースの最も一般的な方法の一つであり、このようなコードはしばしば業務コードと結合してプロジェクトのメンテナンス性が悪くなる。
CAPTCHAは、Spring Bootに基づく検証コードの枠組みであり、AOPによって検証コードの生成、送信、記憶などの検証コードを含む関連サービスを完了し、業務コードとの結合を回避する。
開発者は、異なるコンポーネントの組み合わせによって検証サービスを容易に行うことができ、自身のサービスニーズ(例えば、メール検証コード、ショートメッセージ検証コード)に対応するためにカスタマイズを行うことができる。
コードの例
導入Maven依存
<dependency>
<groupId>cn.dustlight.captcha</groupId>
<artifactId>captcha-core</artifactId>
<version>0.0.6</version>
</dependency>
注釈を追加してCAPTCHAを有効にします。
@SpringBootApplication
@EnableCaptcha // CAPTCHA
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
注釈生産検証コードを使用する
@RequestMapping("/captcha")
@SendCode //
public void captcha(@CodeValue String code) {
// , 、 '@SendCode' 。
log.info(code);
}
注釈消費検証コード(保護インターフェース)を使用する。
@RequestMapping("/")
@VerifyCode
public String index(@CodeValue String code) {
// , '@VerifyCode' 。
return String.format("Hello World! (%s)", code);
}
原理を実現するCAPTCHAは切断面向けプログラミング(AOP)思想に基づいて、検証コードサービスを二つの断面に分けます。
@SendCode
@VerifyCode
同時に検証コード業務を以下のいくつかのインターフェースに抽象化する:
Code
――認証コードCodeGenerator
――生成器CodeSender
、送信機CodeStore
−メモリCodeVerifier
−ベリファイアランダム文字画像検証コードのAOPを実現しました。
業務分析
インターフェース
実現する
機能/説明
コード
コード<String>
文字列型コードには、検証コード名、検証コード値があります。認証コード名は、異なるサービスを区別するための認証コードです。)
CodeGenerator
RandomString CodeGenerator
ランダム文字列を生成し、パラメータ設定文字列および長さを使用します。
CodeSender
ImageCodeSender
画像(ランダム文字、妨害線)を描画し、Resonseに出力します。
CodeStore
HttpSession CodeStore
Sessionに基づいて検証コードを保存し、取り出す。
Code Verifer
StringEquals CodeVer ifeier
文字列比較の検証は、パラメータ構成によって、文字の大きさや文字の大きさに敏感かどうか、およびtrimかどうかを確認します。
業務ロジック
@SendCode
CodeGenerator
を介してCode
を生成する。CodeStore
を介してCode
を格納する。CodeSender
を介してCode
を出力する。CodeStore
を介してCode
を取り出す。CodeVerify
によって検証される。画像認証コード(ヒューマンマシン識別)以外に、一般的な検証コードサービスまたはパーソナルマシン識別サービスは、例えば、ショートメールの検証コード、メールの検証コード、GoogleのreCAPTCHA人機識別など、これらのインターフェースを実現することによって業務を遂行することができる。
例えば、Redisストレージ検証コードを使用するには、
RedisTemplate
を通じてCodeStore
を実装すればよく、モジュールの組み合わせ使用によって、ユーザ定義の検証コードサービスを容易に完成することができ、また、サービスコードに影響を与えない。ここでSpring Boot検証コードの枠組み-CAPTCHAに関する記事を紹介します。Spring Boot検証コードの枠組みの内容は以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。