From 29fdc28c23b47588f39aefde27872e5768668929 Mon Sep 17 00:00:00 2001 From: wangwenrui Date: Tue, 25 Dec 2018 18:48:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD=20=E4=BF=AE=E6=94=B9ASEM=E5=89=8D?= =?UTF-8?q?=E6=9D=BF=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i18n/globalMessages_en_US.properties | 39 ++++++++----- .../i18n/globalMessages_zh_CN.properties | 12 +++- gloam/WebRoot/img/route/ASEM-T102-FRONT.png | Bin 16577 -> 16648 bytes gloam/WebRoot/main.html | 17 +++++- gloam/conf/i18n_en_US.properties | 2 + gloam/conf/i18n_zh_CN.properties | 4 +- .../nis/gloam/controller/LoginController.java | 54 ++++++++++++++++++ 7 files changed, 108 insertions(+), 20 deletions(-) diff --git a/gloam/WebRoot/i18n/globalMessages_en_US.properties b/gloam/WebRoot/i18n/globalMessages_en_US.properties index 9856ad9..3747b17 100644 --- a/gloam/WebRoot/i18n/globalMessages_en_US.properties +++ b/gloam/WebRoot/i18n/globalMessages_en_US.properties @@ -5254,7 +5254,7 @@ xt_mk_jbxx.285.mkmc=Business Logic Topology xt_yh_jbxx.admin.rigthmenuitems=System Management, xt_yh_jbxx.admin.yhmc=Administrator -####################补充内容 start############################## +####################补充内容 start############################## #xt_mk_jbxx #Mon May 28 11:27:21 CST 2018 xt_mk_jbxx.221.mkmc=Brand Management @@ -5376,7 +5376,7 @@ data_police_relation.100000.POLICE_SHOW_INFO=User usage exceeds 2% #order_table #Mon May 28 16:25:52 CST 2018 order_table.upgrade_recover.shell_path=Change the command name to upgrade_restore -####################补充内容 end############################## +####################补充内容 end############################## #DeptManageAction DeptManageAction.update.success=Operation successful @@ -6882,18 +6882,18 @@ client.Sysconfig.init=Lack of configuration file, program cannot be executed! \n client.Sysconfig.error=Error client.AlarmThread.processExists=process exists, but -client.AlarmThread.loopMission1=The scheduled task“ -client.AlarmThread.loopMission2=”does not exist +client.AlarmThread.loopMission1=The scheduled task“ +client.AlarmThread.loopMission2=”does not exist client.AlarmThread.state=This status lasted client.AlarmThread.times=times -client.AlarmThread.dataFileNotExists1=Data file directory“ -client.AlarmThread.dataFileNotExists2=”does not exist +client.AlarmThread.dataFileNotExists1=Data file directory“ +client.AlarmThread.dataFileNotExists2=”does not exist client.AlarmThread.dataSize=Monitor data file size is 0 client.AlarmThread.noDetecateData=No monitoring data client.StartPluginRun.startupDetecate=Start Tripartite Monitoring -client.StartPluginRun.startupDetecateErr1=Tripartite monitor failed to start. Please check if the process startup file“ -client.StartPluginRun.startupDetecateErr1.isTrue=”is set correctly! +client.StartPluginRun.startupDetecateErr1=Tripartite monitor failed to start. Please check if the process startup file“ +client.StartPluginRun.startupDetecateErr1.isTrue=”is set correctly! client.StartPluginRun.startupDetecateErr2=Initiate tripartite monitoring anomaly and the monitoring script has not been issued! client.StartPluginRun.startupDetecateErr3=Initiate tripartite monitoring anomaly and monitor script execution error! client.ServerCollectData.transFile=Postback Success @@ -7172,11 +7172,11 @@ server.CommonService.errorInfo5=Location {0} Data Monitoring Category cannot be server.CommonService.errorInfo6=Location {0} data ""+startTime+"" monitoring service start time must be integer server.CommonService.errorInfo7=Location {0} data monitoring service startup time cannot be empty server.CommonService.errorInfo8=Location {0} data "{1}" Detection delay (seconds) must be integer -server.CommonService.errorInfo9=Location {0} data “{1}” The detection time must be integer +server.CommonService.errorInfo9=Location {0} data “{1}” The detection time must be integer server.CommonService.errorInfo10=Location {0} Data This test cannot be empty server.CommonService.errorInfo11=Location {0} data "{1}" Attempt must be an integer server.CommonService.errorInfo12=Location {0} data Attempt cannot be empty -server.CommonService.errorInfo13=Location {0} data “{1}” The next scheduled monitoring time must be integer +server.CommonService.errorInfo13=Location {0} data “{1}” The next scheduled monitoring time must be integer server.CommonService.errorInfo14=Location {0} Data Attempt cannot be null server.CommonService.errorInfo15=Location {0} data "{1}" Execution state must be integer server.CommonService.errorInfo16=Location {0} Data Execution state cannot be empty @@ -7197,14 +7197,14 @@ server.CommonService.errorInfo21=Location {0} Data node seqId (Physical Host ID) server.CommonService.errorInfo22=Location {0} Data Monitoring Settings ID cannot be empty server.CommonService.errorInfo23=Location {0} Data Monitoring Settings ID is not an integer (including 0) server.CommonService.errorInfo24=Location {0} Data Monitoring Category cannot be empty -server.CommonService.errorInfo25=Location {0} data “{1}” monitoring service startup time must be integer +server.CommonService.errorInfo25=Location {0} data “{1}” monitoring service startup time must be integer server.CommonService.errorInfo26=Location {0} data monitoring service startup time cannot be empty server.CommonService.errorInfo27=Location {0} data "{1}" Detection delay (seconds) must be integer -server.CommonService.errorInfo28=Location {0} Data “{1}” This detection time must be an integer +server.CommonService.errorInfo28=Location {0} Data “{1}” This detection time must be an integer server.CommonService.errorInfo29=Location {0} Data This test cannot be empty server.CommonService.errorInfo30=Location {0} data "{1}" Attempt must be an integer server.CommonService.errorInfo31=Location {0} data Attempt cannot be empty -server.CommonService.errorInfo32=Location {0} data “{1}” The next scheduled monitoring time must be integer +server.CommonService.errorInfo32=Location {0} data “{1}” The next scheduled monitoring time must be integer server.CommonService.errorInfo33=Location {0} data Attempt cannot be empty server.CommonService.errorInfo34=Location {0} data "{1}" Execution state must be integer server.CommonService.errorInfo35=Location {0} data Execution state cannot be empty @@ -7349,4 +7349,15 @@ procInfoList.text.serviceState=Service Status processReset.text.result=Reset mirror not saved.Reset failed! processReset.text.confirm=Confirm reset?This oparetion is dangerous and irreversible. reset.success=Reset success -reset.failed=Reset failed \ No newline at end of file +reset.failed=Reset failed + +LoginController.text.pwdErr=Password Error +LoginController.text.userValidateErr=User identity information invalid, please login again +resetPwd.text.inputPwd=Current Password +resetPwd.text.inputNewPwd=New password +resetPwd.text.reInputNewPwd=Repeat new password +resetPwd.text.pwdUpdateSuccess=Password is changed, please login again! +resetPwd.text.pwdIsNull=Password cannot be empty +resetPwd.text.pwdErr=Password error, please retype +resetPwd.text.pwdFormat= Please enter 8-16 bit uppercase, lowercase, and number combinations +resetPwd.text.notSame= Inconsistency between inputs, please retype \ No newline at end of file diff --git a/gloam/WebRoot/i18n/globalMessages_zh_CN.properties b/gloam/WebRoot/i18n/globalMessages_zh_CN.properties index 5997166..40adb46 100644 --- a/gloam/WebRoot/i18n/globalMessages_zh_CN.properties +++ b/gloam/WebRoot/i18n/globalMessages_zh_CN.properties @@ -7365,8 +7365,16 @@ processReset.text.confirm=确认重置吗?此过程具有一定危险性且不 reset.success=重置成功 reset.failed=重置失败 - - +LoginController.text.pwdErr=密码错误 +LoginController.text.userValidateErr=用户身份信息失效,请重新登录 +resetPwd.text.inputPwd=请输入当前密码 +resetPwd.text.inputNewPwd=请输入新密码 +resetPwd.text.reInputNewPwd=请再次输入新密码 +resetPwd.text.pwdUpdateSuccess=密码修改成功,请重新登录! +resetPwd.text.pwdIsNull=密码不能为空 +resetPwd.text.pwdErr=密码错误,请重新输入 +resetPwd.text.pwdFormat=请输入8-16位大写字母、小写字母、数字组合 +resetPwd.text.notSame=两次输入不一致,请重新输入 diff --git a/gloam/WebRoot/img/route/ASEM-T102-FRONT.png b/gloam/WebRoot/img/route/ASEM-T102-FRONT.png index b1ab59b913b3419c3ad7867eb233171f48e28a02..ea8d518b84830973ff937d096fc44151cf8d1466 100644 GIT binary patch delta 13999 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%0Dy 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 #(session.loginUser.login_name) diff --git a/gloam/conf/i18n_en_US.properties b/gloam/conf/i18n_en_US.properties index 5967944..558160a 100644 --- a/gloam/conf/i18n_en_US.properties +++ b/gloam/conf/i18n_en_US.properties @@ -119,3 +119,5 @@ goback = back processReset = Reset Process 500 = 500 Internal Server Error 404 = 404 Not found + +reset.password = Reset Password \ No newline at end of file diff --git a/gloam/conf/i18n_zh_CN.properties b/gloam/conf/i18n_zh_CN.properties index fcd9d9e..c2ffe5b 100644 --- a/gloam/conf/i18n_zh_CN.properties +++ b/gloam/conf/i18n_zh_CN.properties @@ -114,4 +114,6 @@ processReset = \u91cd\u7f6e\u8fdb\u7a0b goback = \u8FD4\u56DE 500 = 500 \u5185\u90E8\u670D\u52A1\u9519\u8BEF -404 = 404 \u672A\u627E\u5230\u9875\u9762 \ No newline at end of file +404 = 404 \u672A\u627E\u5230\u9875\u9762 + +reset.password = \u8BBE\u7F6E\u5BC6\u7801 \ No newline at end of file diff --git a/gloam/src/com/nis/gloam/controller/LoginController.java b/gloam/src/com/nis/gloam/controller/LoginController.java index 0c43222..58b7a0d 100644 --- a/gloam/src/com/nis/gloam/controller/LoginController.java +++ b/gloam/src/com/nis/gloam/controller/LoginController.java @@ -1,18 +1,29 @@ package com.nis.gloam.controller; +import java.io.UnsupportedEncodingException; +import java.security.NoSuchAlgorithmException; +import java.util.List; + import javax.servlet.http.HttpSession; +import org.apache.log4j.Logger; + import com.jfinal.aop.Before; import com.jfinal.aop.Clear; import com.jfinal.core.Controller; import com.jfinal.kit.PropKit; +import com.jfinal.plugin.activerecord.Db; import com.nis.gloam.entity.SysUser; import com.nis.gloam.interceptor.LoginInterceptor; +import com.nis.gloam.util.Md5; import com.nis.gloam.validator.LoginValidator; + @Clear(LoginInterceptor.class) public class LoginController extends Controller { + private Logger logger=Logger.getLogger(LoginController.class); + /** * 登录界面 */ @@ -49,4 +60,47 @@ public class LoginController extends Controller { removeSessionAttr("loginFlag"); redirect("/"); } + + public void toResetPwd(){ + render("/resetPwd.html"); + } + public void validatePwd(){ + String oldPwd = getPara("oldpwd"); + SysUser user = getSessionAttr("loginUser"); + + String msg=""; + try { + if(user!=null){ + String md5pwd=Md5.EncoderByMd5(oldPwd.trim()); + if(md5pwd!=null&&md5pwd.equals(user.get("password"))){ + msg="success"; + }else{ + msg="i18n_LoginController.text.pwdErr_n81i"; + } + }else{ + msg="faild"; + } + + } catch (Exception e) { + logger.error("MD5转换失败", e); + } + renderJson("validateMsg", msg); + } + + public void resetPwd(){ + String pwd = getPara("password"); + SysUser user=getSessionAttr("loginUser"); + try { + if(user!=null){ + String md5Pwd=Md5.EncoderByMd5(pwd); + Db.update("update sys_user set password=? where login_name=?",md5Pwd,user.get("login_name")); + setAttr("updateMsg", "success"); + }else{ + setAttr("updateMsg", "i18n_LoginController.text.userValidateErr_n81i"); + } + } catch (Exception e) { + logger.error("MD5转换失败", e); + } + render("/resetPwd.html"); + } } \ No newline at end of file