From 1e3d3b2732632c6d483a2641eb369634a8ce5bcc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com>
Date: Thu, 12 Sep 2024 18:36:55 +0800
Subject: [PATCH] 'commit'
---
ds-base/Dockerfile | 4 +-
ds-base/WebRoot/html/login.html | 31 +-------
.../Controller/LoginPersonController.java | 78 +------------------
3 files changed, 6 insertions(+), 107 deletions(-)
diff --git a/ds-base/Dockerfile b/ds-base/Dockerfile
index f62f946e..beafc578 100644
--- a/ds-base/Dockerfile
+++ b/ds-base/Dockerfile
@@ -12,9 +12,9 @@ COPY ./WebRoot /root/WebRoot
COPY ./target /root/target
# 安装中文字体
-RUN apt-get update && apt-get install -y fonts-wqy-zenhei
+#RUN apt-get update && apt-get install -y fonts-wqy-zenhei
# 设置环境变量
-ENV LANG C.UTF-8
+#ENV LANG C.UTF-8
#设置这个环境变量后,您可以在Docker容器中启动Java应用程序时使用这些参数。
ENV JAVA_OPTS="-Xms512m -Xmx1024m"
diff --git a/ds-base/WebRoot/html/login.html b/ds-base/WebRoot/html/login.html
index 02365e4f..4d56ac27 100644
--- a/ds-base/WebRoot/html/login.html
+++ b/ds-base/WebRoot/html/login.html
@@ -45,15 +45,6 @@
-
-
-

-
-

-
-
-
@@ -72,10 +63,6 @@
getPageInfo();
});
- //刷新验证码
- function refreshCaptcha() {
- $("#userCaptchaImage").attr("src", "/dsBase/loginPerson/getCaptcha?rnd=" + Math.random().toString().slice(-6));
- }
$(document).keydown(function (event) {
if (event.keyCode === 13) {//回车键对应code值为13
@@ -86,12 +73,11 @@
function doLogin() {
var username = $("#usernameTxt").val();
var password = $("#passwordTxt").val();
- var captcha = $("#captchaTxt").val();
if (username.length === 0 || password.length === 0) {
alert("用户名或密码不允许为空!")
return;
}
- userLogin(username, password, captcha);
+ userLogin(username, password);
}
//用户名登录
@@ -100,15 +86,14 @@
var encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
- if (userLoginCheck(username, password, captcha)) {
+ if (userLoginCheck(username, password)) {
$.ajax({
type: "POST",
dataType: "json",
url: "/dsBase/loginPerson/doLogin",
data: {
"username": username,
- "password": encrypt.encrypt(password),
- "captcha": captcha
+ "password": encrypt.encrypt(password)
},
async: false,
success: function (result) {
@@ -135,19 +120,9 @@
alert("密码不允许为空!");
return false;
}
- if (captcha == null || captcha == "") {
- alert("验证码不允许为空!");
- return false;
- }
return true;
}
- //开启错误提示
- function showError(error) {
- $(".form-error").find("label").html(error);
- $(".form-error").show();
- }
-
//获取页面信息
diff --git a/ds-base/src/main/java/com/dsideal/base/LoginPerson/Controller/LoginPersonController.java b/ds-base/src/main/java/com/dsideal/base/LoginPerson/Controller/LoginPersonController.java
index d4f4ed62..98cb8b5a 100644
--- a/ds-base/src/main/java/com/dsideal/base/LoginPerson/Controller/LoginPersonController.java
+++ b/ds-base/src/main/java/com/dsideal/base/LoginPerson/Controller/LoginPersonController.java
@@ -31,59 +31,9 @@ public class LoginPersonController extends Controller {
LoginPersonModel model = new LoginPersonModel();
@Before({POST.class})
- public void doLogin(String username, String password, String captcha) {
+ public void doLogin(String username, String password) {
JSONObject resultJson = new JSONObject();
try {
- if (StrKit.isBlank(captcha)) {
- resultJson.put("success", false);
- resultJson.put("msg", "验证码不能为空!");
- renderJson(resultJson);
- return;
- }
- if (getSession().getAttribute("captcha") == null) {
- resultJson.put("success", false);
- resultJson.put("msg", "在浏览器会话中没有检查到验证码,你的行为将会记录!");
- renderJson(resultJson);
- return;
- }
- String memory_captcha = getSession().getAttribute("captcha").toString().toLowerCase();
-
- //验证码错误次数
- String checkCodeKey = "Yzm_error_" + username;
- int CheckCodeErrCnt = 4; //最多允许错几次 4+1
- int CheckCodecntNum = 0; //错几次了
- if (Redis.use().exists(checkCodeKey))
- CheckCodecntNum = Integer.parseInt(Redis.use().get(checkCodeKey).toString());
- if (CheckCodecntNum > CheckCodeErrCnt) {
- resultJson.put("success", false);
- resultJson.put("msg", "账号已被停用5分钟,请稍后再试!");
- renderJson(resultJson);
- return;
- }
- if (!memory_captcha.equals(captcha.toLowerCase())) {
- CheckCodecntNum = 1;
- if (Redis.use().exists(checkCodeKey))
- CheckCodecntNum = Integer.parseInt(Redis.use().get(checkCodeKey).toString()) + CheckCodecntNum;
- Redis.use().set(checkCodeKey, String.valueOf(CheckCodecntNum));
- Redis.use().expire(checkCodeKey, 60 * 5);
-
- if (CheckCodecntNum == CheckCodeErrCnt) {
- resultJson.put("success", false);
- resultJson.put("msg", "验证码连续输入错误" + CheckCodecntNum + "次,再错误一次将被封号5分钟!");
- renderJson(resultJson);
- return;
- }
- if (CheckCodecntNum > CheckCodeErrCnt) {
- resultJson.put("success", false);
- resultJson.put("msg", "验证码连续输入错误5次,账号被停用5分钟,请稍后再试!");
- renderJson(resultJson);
- return;
- }
- resultJson.put("success", false);
- resultJson.put("msg", "验证码不正确!");
- renderJson(resultJson);
- return;
- }
if (StrKit.isBlank(username)) {
resultJson.put("success", false);
resultJson.put("msg", "用户名不允许为空!");
@@ -143,7 +93,6 @@ public class LoginPersonController extends Controller {
}
//去掉限制
Redis.use().del(PassWordKey);
- Redis.use().del(checkCodeKey);
//防止用户攻击修改Cookie
Map _map = new HashMap();
_map.put("identity_id", loginMap.get("identity_id"));
@@ -419,29 +368,4 @@ public class LoginPersonController extends Controller {
System.setProperty("java.awt.headless", "true");
}
/*****打印帐号和输出EXCEL的功能结束*********************************************************/
- // /dsBase/loginPerson/getCaptcha
- @Before({GET.class})
- public void getCaptcha() {
- HttpServletResponse response = getResponse();
- // 设置相应类型,告诉浏览器输出的内容为图片
- response.setContentType("image/jpeg");
- // 不缓存此内容
- response.setHeader("Pragma", "No-cache");
- response.setHeader("Cache-Control", "no-cache");
- response.setDateHeader("Expire", 0);
- try {
- HttpSession session = getRequest().getSession();
- LineCaptcha captcha = CaptchaUtil.createLineCaptcha(80, 42, 4, 10);
- // 重新生成code
- captcha.createCode();
- //写入session
- session.removeAttribute("captcha");
- session.setAttribute("captcha", captcha.getCode());
- // 将内存中的图片通过流动形式输出到客户端
- captcha.write(response.getOutputStream());
- } catch (Exception e) {
- e.printStackTrace();
- }
- renderNull();
- }
}
\ No newline at end of file