view+element+java登陆验证码
一、前端:
1、页面标签:
<el-row :gutter="20">
<el-col :span="24">
<el-input v-model="loginForm.verificationCode" placeholder="请输入验证码" @focus="resetValidate('verificationCodeMsg')"
prefix-icon="iconfont icon-yanzhengma" @keyup.enter.native="submitForm('loginForm')" auto-complete="off" type="text">
<img slot="suffix" :src="captchaUrl" class="verificationCode" @click="changeCaptchaUrl"></img>
</el-input>
</el-col>
</el-row>
2、js代码:
data{
loginForm: {
userId: '',
password: '',
verificationCode:''
},
loginRule: {
userId: [
{validator: validateuserid, trigger: 'blur'}
],
password: [
{validator: validatePassword, trigger: 'blur'}
],
verificationCode:[
{validator: validateVerificationCode, trigger: 'blur'}
]
},
captchaUrl:'/captcha/getCaptcha'
}
几个js方法:
resetValidate: function (msgKey) {
if(this[msgKey] != ''){
this[msgKey] = '';
this.$refs['loginForm'].clearValidate();
}
},
changeCaptchaUrl:function(){
this.captchaUrl='/captcha/getCaptcha?timestamp=' + new Date().getTime()
},
提交表单ajax请求参数中:
"captchaCode":self.loginForm.verificationCode,
function validateVerificationCode(rule, value, callback) {
if (value === '') {
callback(new Error('请输入验证码'));
}else {
callback();
}
}
二、java代码:
ajax请求的后台:
@RequestMapping(value = "/verifyId")
@ResponseBody
public JsonResult<Object> verifyId(String p,HttpServletRequest request) {
JsonResult<Object> json = JsonResult.getFailureResult(true);
String jsonStr=RSAEncryptUtils.decrypt(p);
JSONObject jsonObject=JSONObject.parseObject(jsonStr);
String randomStringSession=(String)request.getSession(true).getAttribute("randomString");
int loginNumInt = 0;
if(jsonObject.getString("loginNum")!= null && jsonObject.getString("loginNum")!=""){
loginNumInt = Integer.parseInt(jsonObject.getString("loginNum"));
// 错误三次及以上要验证码
if(loginNumInt >= 3 && !randomStringSession.equalsIgnoreCase(jsonObject.getString("captchaCode"))){
json.setSuccess(false);
json.setMsg("验证码错误");
return json;
}
} }
view+element+java登陆验证码的更多相关文章
- java登陆验证码与JS无刷新验证
最近公司的项目的登陆模块由我负责,所以就做了个登陆小功能进行练手,其包括了用jQuery对用户名和密码进行不为null验证,和出于安全性考虑加了一个验证码的校验 别的不说先上代码 controller ...
- java识别验证码
所需资源下载链接(资源免费,重在分享) Tesseract:http://download.csdn.net/detail/chenyangqi/9190667 jai_imageio-1.1-alp ...
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
- phpcms v9后台登陆验证码无法显示,怎么取消验证码
phpcms v9后台登陆验证码无法显示论坛里关于这个问题貌似一直没有解决,查看源代码后发现,关键一点是获取验证码的图片与全局变量SITE_URL相关,也就是网站的目录, 所以只要修改cache/co ...
- 推荐一款java的验证码组件——kaptcha
使用方法: 项目中导入kaptcha-2.3.jar包 在web.xml里面新增: <!-- 登陆验证码Kaptcha --> <servlet> <servlet- ...
- 【开发技术】Java生成验证码
Java生成验证码 为了防止用户恶意,或者使用软件外挂提交一些内容,就得用验证码来阻止,虽然这个会影响用户体验,但为了避免一些问题很多网站都使用了验证码;今天下午参考文档弄了一个验证码,这里分享一下; ...
- java制作验证码(java验证码小程序)
手动制作java的验证码 Web应用验证码的组成: (1)输入框 (2)显示验证码的图片 验证码的制作流程: 生成验证码的容器使用 j2ee的servlet 生成图片需要的类: (1) Buffere ...
- dedecms如何去除后台登陆验证码
用dedecms批量建站一般直接把文件打包复制,然后导入数据库,一个新网站就好了,但有时后台一直无法登录,提示验证码错误.那我们就想怎么把验证码关闭,现在就给大家解决织梦去掉后台登陆验证码.我们知道d ...
- 使用Java设计验证码生成程序
我们来设计一个简单的验证码生成程序:验证码一个由4位的数字.字母随机组合而成图像,为了避免被光学字元识别(OCR,Optical Character Recognition)之类的程序识别出图片中的数 ...
随机推荐
- RSA加密算法学习
一.公钥加密算法 对称加密 非对称加密 二.RSA加密算法
- Salesforce Integration 概览(四) Batch Data Synchronization(批量数据的同步)
本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 前两篇博客讲了一下 ...
- Spring Boot 入门系列(二十二)使用Swagger2构建 RESTful API文档
前面介绍了如何Spring Boot 快速打造Restful API 接口,也介绍了如何优雅的实现 Api 版本控制,不清楚的可以看我之前的文章:https://www.cnblogs.com/zha ...
- 如何让win10开机默认开启小键盘?
如何让win10开机默认开启小键盘? windows10默认是关闭小键盘的.每次输入开机密码的时候都需要按一下小键盘开启键(numlock),才能按数字键 一.运行注册表编辑器,修改InitialKe ...
- 用于在公网环境下测试的Telnet/SSH服务器
google: public telnet server list for example: telnet nethack.alt.org ssh nethack@alt.org
- xml editing in vi
Auto complete tags xmledit installation: git clone https://github.com/sukima/xmledit.git, then make ...
- Linux 文件、目录与磁盘格式
文件属性 连接数 文件持有者 文件所属群组 文件容量 文件最后修改时间 文件名(就那个..) 第一栏其中文件属性有10,第一个属性代表这个文件是目录.文件或链接文件: [d]目录 [-]文 ...
- Java LinkedList【笔记】
Java LinkedList[笔记] LinkedList LinkedList 适用于要求有顺序,并且会按照顺序进行迭代的场景,依赖于底层的链表结构 LinkedList基本结构 LinkedLi ...
- Dubbo系列讲解之服务注册【3万字长文分享】 23/100 发布文章
服务注册的几个步骤 对于RPC框架的服务注册,一般包含了如下的流程: 加载服务提供者,可能是通过xml配置的,也可能是通过扫描注解的 实例化服务提供者,并以服务接口作为key,实现类作为value ...
- 常见web中间件漏洞(二)Apache漏洞
Apache(总联想到武直那个)是最常见,使用人数最多的一款web服务器软件.跨平台,多扩展,开源,用过的人都说好 Apache的漏洞主要集中在解析漏洞这一块 1.未知扩展名解析漏洞 Apache的一 ...