去除验证码和token验证!

dev
巴卫 2 years ago
parent 9f2f7a3087
commit bc8c77dbbe

@ -13,17 +13,17 @@
</a-form-model-item> </a-form-model-item>
<a-row :gutter="0"> <a-row :gutter="0">
<a-col :span="16"> <!-- <a-col :span="16">-->
<a-form-model-item required prop="inputCode"> <!-- <a-form-model-item required prop="inputCode">-->
<a-input v-model="model.inputCode" size="large" type="text" placeholder="请输入验证码"> <!-- <a-input v-model="model.inputCode" size="large" type="text" placeholder="请输入验证码">-->
<a-icon slot="prefix" type="smile" :style="{ color: 'rgba(0,0,0,.25)' }"/> <!-- <a-icon slot="prefix" type="smile" :style="{ color: 'rgba(0,0,0,.25)' }"/>-->
</a-input> <!-- </a-input>-->
</a-form-model-item> <!-- </a-form-model-item>-->
</a-col> <!-- </a-col>-->
<a-col :span="8" style="text-align: right"> <!-- <a-col :span="8" style="text-align: right">-->
<img v-if="requestCodeSuccess" style="margin-top: 2px;" :src="randCodeImage" @click="handleChangeCheckCode"/> <!-- <img v-if="requestCodeSuccess" style="margin-top: 2px;" :src="randCodeImage" @click="handleChangeCheckCode"/>-->
<img v-else style="margin-top: 2px;" src="../../assets/checkcode.png" @click="handleChangeCheckCode"/> <!-- <img v-else style="margin-top: 2px;" src="../../assets/checkcode.png" @click="handleChangeCheckCode"/>-->
</a-col> <!-- </a-col>-->
</a-row> </a-row>
</a-form-model> </a-form-model>
</div> </div>
@ -54,10 +54,11 @@
], ],
password: [{ password: [{
required: true, message: '请输入密码!', validator: 'click' required: true, message: '请输入密码!', validator: 'click'
}],
inputCode: [{
required: true, message: '请输入验证码!'
}] }]
//modified by
// inputCode: [{
// required: true, message: '!'
// }]
} }
} }
@ -122,13 +123,14 @@
this.model['username'] = username this.model['username'] = username
}, },
// //
//modified by
handleLogin(rememberMe){ handleLogin(rememberMe){
this.validateFields([ 'username', 'password', 'inputCode' ], (err)=>{ this.validateFields([ 'username', 'password'], (err)=>{
if(!err){ if(!err){
let loginParams = { let loginParams = {
username: this.model.username, username: this.model.username,
password: this.model.password, password: this.model.password,
captcha: this.model.inputCode, // captcha: this.model.inputCode,
checkKey: this.currdatetime, checkKey: this.currdatetime,
remember_me: rememberMe, remember_me: rememberMe,
} }

@ -82,26 +82,27 @@ public class LoginController {
//update-begin--Author:scott Date:20190805 for暂时注释掉密码加密逻辑有点问题 //update-begin--Author:scott Date:20190805 for暂时注释掉密码加密逻辑有点问题
//update-begin-author:taoyan date:20190828 for:校验验证码 //update-begin-author:taoyan date:20190828 for:校验验证码
String captcha = sysLoginModel.getCaptcha(); //modified by 巴卫
if(captcha==null){ // String captcha = sysLoginModel.getCaptcha();
result.error500("验证码无效"); // if(captcha==null){
return result; // result.error500("验证码无效");
} // return result;
String lowerCaseCaptcha = captcha.toLowerCase(); // }
//update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 // String lowerCaseCaptcha = captcha.toLowerCase();
// 加入密钥作为混淆,避免简单的拼接,被外部利用,用户自定义该密钥即可 // //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906
String origin = lowerCaseCaptcha+sysLoginModel.getCheckKey()+jeecgBaseConfig.getSignatureSecret(); // // 加入密钥作为混淆,避免简单的拼接,被外部利用,用户自定义该密钥即可
String realKey = Md5Util.md5Encode(origin, "utf-8"); // String origin = lowerCaseCaptcha+sysLoginModel.getCheckKey()+jeecgBaseConfig.getSignatureSecret();
//update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 // String realKey = Md5Util.md5Encode(origin, "utf-8");
Object checkCode = redisUtil.get(realKey); // //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906
//当进入登录页时,有一定几率出现验证码错误 #1714 // Object checkCode = redisUtil.get(realKey);
if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) { // //当进入登录页时,有一定几率出现验证码错误 #1714
log.warn("验证码错误key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode); // if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
result.error500("验证码错误"); // log.warn("验证码错误key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
// 改成特殊的code 便于前端判断 // result.error500("验证码错误");
result.setCode(HttpStatus.PRECONDITION_FAILED.value()); // // 改成特殊的code 便于前端判断
return result; // result.setCode(HttpStatus.PRECONDITION_FAILED.value());
} // return result;
// }
//update-end-author:taoyan date:20190828 for:校验验证码 //update-end-author:taoyan date:20190828 for:校验验证码
//1. 校验用户是否有效 //1. 校验用户是否有效
@ -126,7 +127,8 @@ public class LoginController {
//用户登录信息 //用户登录信息
userInfo(sysUser, result); userInfo(sysUser, result);
//update-begin--Author:liusq Date:20210126 for登录成功删除redis中的验证码 //update-begin--Author:liusq Date:20210126 for登录成功删除redis中的验证码
redisUtil.del(realKey); //modified by 巴卫
//redisUtil.del(realKey);
//update-begin--Author:liusq Date:20210126 for登录成功删除redis中的验证码 //update-begin--Author:liusq Date:20210126 for登录成功删除redis中的验证码
LoginUser loginUser = new LoginUser(); LoginUser loginUser = new LoginUser();
BeanUtils.copyProperties(sysUser, loginUser); BeanUtils.copyProperties(sysUser, loginUser);

@ -1119,3 +1119,69 @@ TD.Exception { background: #A2AEE8; font-family: courier, monospace;}
<td class="LineOfCaller">LineOfCaller</td> <td class="LineOfCaller">LineOfCaller</td>
</tr> </tr>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Logback Log Messages</title>
<style type="text/css">
table { margin-left: 2em; margin-right: 2em; border-left: 2px solid #AAA; }
TR.even { background: #FFFFFF; }
TR.odd { background: #EAEAEA; }
TR.warn TD.Level, TR.error TD.Level, TR.fatal TD.Level {font-weight: bold; color: #FF4040 }
TD { padding-right: 1ex; padding-left: 1ex; border-right: 2px solid #AAA; }
TD.Time, TD.Date { text-align: right; font-family: courier, monospace; font-size: smaller; }
TD.Thread { text-align: left; }
TD.Level { text-align: right; }
TD.Logger { text-align: left; }
TR.header { background: #596ED5; color: #FFF; font-weight: bold; font-size: larger; }
TD.Exception { background: #A2AEE8; font-family: courier, monospace;}
</style>
</head>
<body>
<hr/>
<p>Log session start time Mon Feb 06 11:07:14 CST 2023</p><p></p>
<table cellspacing="0">
<tr class="header">
<td class="Level">Level</td>
<td class="Date">Date</td>
<td class="Message">Message</td>
<td class="MethodOfCaller">MethodOfCaller</td>
<td class="FileOfCaller">FileOfCaller</td>
<td class="LineOfCaller">LineOfCaller</td>
</tr>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Logback Log Messages</title>
<style type="text/css">
table { margin-left: 2em; margin-right: 2em; border-left: 2px solid #AAA; }
TR.even { background: #FFFFFF; }
TR.odd { background: #EAEAEA; }
TR.warn TD.Level, TR.error TD.Level, TR.fatal TD.Level {font-weight: bold; color: #FF4040 }
TD { padding-right: 1ex; padding-left: 1ex; border-right: 2px solid #AAA; }
TD.Time, TD.Date { text-align: right; font-family: courier, monospace; font-size: smaller; }
TD.Thread { text-align: left; }
TD.Level { text-align: right; }
TD.Logger { text-align: left; }
TR.header { background: #596ED5; color: #FFF; font-weight: bold; font-size: larger; }
TD.Exception { background: #A2AEE8; font-family: courier, monospace;}
</style>
</head>
<body>
<hr/>
<p>Log session start time Mon Feb 06 11:17:14 CST 2023</p><p></p>
<table cellspacing="0">
<tr class="header">
<td class="Level">Level</td>
<td class="Date">Date</td>
<td class="Message">Message</td>
<td class="MethodOfCaller">MethodOfCaller</td>
<td class="FileOfCaller">FileOfCaller</td>
<td class="LineOfCaller">LineOfCaller</td>
</tr>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save