spring boot集成谷歌Kaptcha驗證碼

spring boot集成谷歌驗證碼

前陣子做了個SSM的點擊驗證碼,比較麻煩,爲了偷懶,記錄一下谷歌的驗證碼生成過程,非常簡單。下面的代碼都直接粘貼可用。
添加依賴

 <dependency>
     <groupId>com.google.code.kaptcha</groupId>
     <artifactId>kaptcha</artifactId>
     <version>2.3</version>
 </dependency>

下面的代碼都是配置信息,可根據需要修改:

@Configuration
public class KaptchaConfiguration {

	private static final String KAPTCHA_BORDER = "kaptcha.border";
	private static final String KAPTCHA_TEXTPRODUCER_FONT_COLOR = "kaptcha.textproducer.font.color";
	private static final String KAPTCHA_TEXTPRODUCER_CHAR_SPACE = "kaptcha.textproducer.char.space";
	private static final String KAPTCHA_IMAGE_WIDTH = "kaptcha.image.width";
	private static final String KAPTCHA_IMAGE_HEIGHT = "kaptcha.image.height";
	private static final String KAPTCHA_TEXTPRODUCER_CHAR_LENGTH = "kaptcha.textproducer.char.length";
	private static final Object KAPTCHA_IMAGE_FONT_SIZE = "kaptcha.textproducer.font.size";
	
	private static final String DEFAULT_IMAGE_WIDTH = "100";
	private static final String DEFAULT_IMAGE_HEIGHT = "40";
	private static final String DEFAULT_IMAGE_LENGTH = "4";
	private static final String DEFAULT_COLOR_FONT = "black";
	private static final String DEFAULT_IMAGE_BORDER = "no";
	private static final String DEFAULT_CHAR_SPACE = "5";
	private static final String DEFAULT_IMAGE_FONT_SIZE = "30";
	@Bean
	public DefaultKaptcha producer() {
		Properties properties = new Properties();
		properties.put(KAPTCHA_BORDER, DEFAULT_IMAGE_BORDER);
		properties.put(KAPTCHA_TEXTPRODUCER_FONT_COLOR, DEFAULT_COLOR_FONT);
		properties.put(KAPTCHA_TEXTPRODUCER_CHAR_SPACE, DEFAULT_CHAR_SPACE);
		properties.put(KAPTCHA_IMAGE_WIDTH, DEFAULT_IMAGE_WIDTH);
		properties.put(KAPTCHA_IMAGE_HEIGHT, DEFAULT_IMAGE_HEIGHT);
		properties.put(KAPTCHA_IMAGE_FONT_SIZE, DEFAULT_IMAGE_FONT_SIZE);
		properties.put(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, DEFAULT_IMAGE_LENGTH);
		Config config = new Config(properties);
		DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
		defaultKaptcha.setConfig(config);
		return defaultKaptcha;
		}
}

創建controller,寫個接口調用就好了
在這裏插入圖片描述
隨便寫個頁面 調用這個接口:

<img id="verification" src="/portal/base/kaptcha" style="cursor: pointer;" title="看不清?換一張" />

最後看看效果圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章