この例では、参照用のスプリングブート検証コードログインの特定のコードを共有しています。特定のコンテンツは次のとおりです
プロジェクトでは検証コードが必要であるため、プロジェクト〜検証コードのプロジェクト要件を迅速に解決する方法を要約します。以下は、誰もが開始するための検証コードの推奨例です。
1。検証コードツールを書き込みます
java.awt.color; Import java.awt.font; import java.awt.graphics; Import java.awt.image.bufferedimage; Import java.io.io.ioexception; Import java.io.OutputStream; Import java.util.util.util.util.util.util.util.util.util.util.util.util.util.util.imais * @author zct * @date 2018年2月6日 * @param * @descグラフィック検証コード生成 * */public class verifyutil {//検証コード文字セットプライベート静的chars = {'0'、 '1、' 2 '、' 3 '、' 4 '、' 5 '5 'd'、 'e'、 'f'、 'g' '、' '、' '' '' '' '' '' '' '' ''、 'o'、 'p'、 'r'、 's'、 't'、 'u'、 'v'、 'w'、 'y' '、' '' '' '' '' '' '' '' '' '' f '' '' '、 'g'、 'h'、 'i' '' '' '' '' '' '、' k '、' l '、' m '、' n '、o'、 'p'、 'q'、 'r'、 's'、 't'、 'v'、 'w'、 'x'、 ''、 'z'}; //文字数プライベート静的最終int size = 4; //干渉線の数private static final int lines = 5; //幅private static final int width = 80; //高さプライベート静的最終int height = 40; //フォントサイズプライベート静的最終int font_size = 30; /***ランダム検証コードとpicture* Object [0]:検証コード文字列。 *オブジェクト[1]:検証コード画像。 */ public static object [] createimage(){stringbuffer sb = new StringBuffer(); // 1。空白の画像を作成するbufferedimage image = new BufferedImage(幅、高さ、bufferedimage.type_int_rgb); // 2。画像ブラシグラフィックグラフィック= image.getGraphics()を取得します。 //3。ブラシカラーグラフィックスを設定します。SetColor(color.light_gray); //4。長方形の背景グラフィックを描画します。 // 5。ランダム文字を描くランダムran = new Random(); for(int i = 0; i <size; i ++){//ランダム文字インデックスint n = ran.nextint(chars.length); //ランダムカラーGraphic.setColor(getRandomColor())を設定します。 //フォントサイズのグラフィックを設定します。SetFont(new Font(null、font.bold + font.italic、font_size)); //文字graghic.drawstring(chars [n] + ""、i * width/ size、height * 2/3)を描く; //文字sb.append(chars [n]); } //6。(int i = 0; i <lines; i ++){//ランダムカラーグラフィック.setcolor(getRandomColor());の干渉線を描画します。 //ランダムカラーGraphic.drawline(ran.nextint(width)、ran.nextint(height)、ran.nextint(width)、ran.nextint(height)); } // 7。検証コードを返し、画像新しいオブジェクトを返します[] {sb.toString()、image}; } / ***ランダムカラー* / public static color getRandomColor(){random ran = new Random();色= new Color(ran.nextint(256)、ran.nextint(256)、ran.nextint(256));色を返します。 }}2。コントローラーレイヤーを使用します
ユーザー名とパスワードが確認コードと一致していることを確認します
/***ログインポータル** @param Username Username* @Param Passwordパスワード* @Param Code検証コード* @Param ResponseコールバックJSONデータは200を正常に返し、500を返し、500を返します*/@Apioperation( "login")@postmapping( "/login")public adminloginbypashword(@apiparm( "useername") @APIPARAM( "Password")@RequestParam文字列パスワード、@APIPARAM( "検証コード")@RequestParam文字列コード、httpservletResponse応答、httpservletrequest request){httpssession session = request.getsession(); if(session.getAttribute( "imageCode")== null){renderfail(response、 "reget検証コード"); } else {if(session.getAttribute( "ImageCode")。toString()。equalsignorecase(code)){map <string、object> user = adminservice.checkadminlogin(username、password); if(user == null){renderfail(response、 "login failed"); } else {rendersuccess(response、 "login scuced"); }} else {renderfail(response、 "検証コードエラー"); }}}ここで、GETリクエストを使用して検証コードを取得します。検証コードを取得するインターフェイスは次のとおりです
@Apioperation( "生成検証コード")@getMapping( "/getCode")public void getCode(httpservletResponse応答、httpservletrequest request)スロー{httpsession = request.getsession(); //画像ツールを使用して画像を生成します//検証コードをセッションセッションに保存します。SetAttribute( "ImageCode"、objs [0]); //画像をブラウザに出力しますBufferEdImage画像=(bufferedImage)objs [1]; Response.setContentType( "Image/PNG"); outputStream os = response.getOutputStream(); Imageio.write(image、 "png"、os); }3。コードテスト
Springboot Swagger2を使用したテストです
上記は、検証コードを取得するためのGETリクエストです。以下はログイン検証であり、検証結果は成功します。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。