Java登录验证码

简介: 本文实例讲述了Java登录验证功能。分享给大家供大家参考,具体如下

登录界面

7.PNG


示例实现方法如下:

packagecom.kyger;
importjakarta.servlet.ServletException;
importjakarta.servlet.http.HttpServlet;
importjakarta.servlet.http.HttpServletRequest;
importjakarta.servlet.http.HttpServletResponse;
importjava.io.IOException;
importjava.util.Map;
publicclassdemoextendsHttpServlet {
privatestaticfinallongserialVersionUID=1L;
publicdemo() {
super();
    }
protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException, IOException {
// 编码request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");;
response.setContentType("text/html; charset=utf-8");
// 后台处理if (request.getMethod().equals("POST")){
Stringhtml, appId, appSecret;
// 设置 AppId 及 AppSecret,在应用管理中获取appId="94dATYQa";
appSecret="6u2BhEgORjQPkO1c69mpg2z5lLTLHf6a";
KgCaptchaSDKKgRequest=newKgCaptchaSDK(appId, appSecret);
// 前端验证成功后颁发的 token,有效期为两分钟KgRequest.token=request.getParameter("kgCaptchaToken");
// 填写应用服务域名,在应用管理中获取KgRequest.appCdn="https://cdn.kgcaptcha.com";
// 请求超时时间,秒KgRequest.connectTimeout=5;
// 用户登录或尝试帐号,当安全策略中的防控等级为3时必须填写,一般情况下可以忽略// 可以填写用户输入的登录帐号(如:request.getParameter("username"),可拦截同一帐号多次尝试等行为KgRequest.userId="kgCaptchaDemo";
// request 对象,当安全策略中的防控等级为3时必须填写,一般情况下可以忽略KgRequest.request=request;
// java 环境中无法提供 request 对象,请分别定义:clientIp|clientBrowser|domain 参数,即:// KgRequest.clientIp = "127.0.0.1";  // 填写客户端IP// KgRequest.clientBrowser = "";  // 客户端浏览器信息// KgRequest.domain = "http://localhost";  // 你的授权域名或服务IP// 发送验证请求Map<String, String>requestResult=KgRequest.sendRequest();
if("0".toString().equals(requestResult.get("code"))) {
// 验签成功逻辑处理 ***// 这里做验证通过后的数据处理// 如登录/注册场景,这里通常查询数据库、校验密码、进行登录或注册等动作处理// 如短信场景,这里可以开始向用户发送短信等动作处理// ...html="<script>alert('验证通过');history.back();</script>";
            } else {
// 验签失败逻辑处理html="<script>alert(\""+requestResult.get("msg") +" - "+requestResult.get("code") +"\");history.back();</script>";
            }
response.getWriter().append(html);
        } else {
response.sendRedirect("index.html");
        }
    }
protectedvoiddoPost(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException, IOException {
doGet(request, response);
    }
}


结果截图

生成验证码并验证成功,成功登录,进入到个人信息页。

14.PNG

9.png


相关链接

官方地址:

https://www.kgcaptcha.com/

SDK下载:

https://github.com/KgCaptcha

效果演示:

https://www.kgcaptcha.com/demo/

相关文章
|
1月前
|
存储 算法 Java
在Java中使用MD5对用户输入密码进行加密存储、同时登录验证。
这篇文章详细介绍了在Java项目中如何使用MD5算法对用户密码进行加密存储和登录验证,包括加入依赖、编写MD5工具类、注册时的密码加密和登录时的密码验证等步骤,并通过示例代码和数据库存储信息展示了测试效果。
在Java中使用MD5对用户输入密码进行加密存储、同时登录验证。
|
4月前
|
JavaScript Java
java生成验证码并进行验证
java生成验证码并进行验证
|
27天前
|
SQL Java 数据库连接
【Azure 应用服务】Java ODBC代码中,启用 Managed Identity 登录 SQL Server 报错 Managed Identity authentication is not available
【Azure 应用服务】Java ODBC代码中,启用 Managed Identity 登录 SQL Server 报错 Managed Identity authentication is not available
|
3月前
|
Java 数据安全/隐私保护
利用Java图形化界面组件Swing写一个简易的登录界面
利用Java图形化界面组件Swing写一个简易的登录界面
44 1
|
3月前
|
存储 NoSQL Java
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
63 0
|
3月前
|
安全 前端开发 Java
Java Web项目登录报Session Error
Java Web项目登录报Session Error
30 0
|
4月前
|
Java
JAVA生产随机生成验证码
Java代码实现随机生成指定位数的数字、大小写字母混合的验证码。使用`Random`类生成类型(0-数字,1-大写字母,2-小写字母),然后根据类型转换为相应字符。示例代码展示了一个4位验证码的生成,并附有实现结果图和过程分析。
175 2
|
4月前
|
前端开发 JavaScript Java
前端和Java验签以太坊钱包签名实现中心化登录
前端和Java验签以太坊钱包签名实现中心化登录
990 8
|
3月前
|
小程序 前端开发 Java
(JAVA)支付宝小程序登录相关(authToken获取用户唯一userId、encryptedData解密手机号)
(JAVA)支付宝小程序登录相关(authToken获取用户唯一userId、encryptedData解密手机号)
188 0
|
4月前
|
JSON 前端开发 Java