增加 shiro.allowRequestMethods 参数,可指定允许的请求方法,默认GET,POST; TabPanel 增加

onTablePageClose 事件;SpringMVC 优化 MaxFileSize 参数,同
MaxRequestSize;新增PatternValue验证注解,支持从属性文件中读取正则表达式,可修改主键和loginCode的验证正则表达式;优化userService.save方法,支持直接保存password。
This commit is contained in:
thinkgem
2018-05-02 22:09:06 +08:00
parent a7428360c4
commit 2523895212
7 changed files with 20 additions and 28 deletions

View File

@@ -134,7 +134,7 @@
<connections>
</connections>
<display>false</display>
<creation_date>2014-10-22 17:21:43</creation_date>
<creation_date>2016-12-25 17:25:00</creation_date>
<model_property>
<name>Project Name</name>
<value></value>

View File

@@ -3,7 +3,6 @@
*/
package com.jeesite.modules.sys.web.user;
import java.lang.reflect.Method;
import java.util.Date;
import java.util.Map;
@@ -312,16 +311,12 @@ public class AccountController extends BaseController{
}
u.setLoginCode(loginCode);
u.setUserName(user.getUserName());
u.setPassword(user.getPassword());
u.setEmail(email);
u.setMobile(mobile);
u.setUserType(userType);
u.setMgrType(User.MGR_TYPE_NOT_ADMIN);
userService.save(u);
try{
userService.updatePassword(u.getUserCode(), user.getPassword());
}catch(ServiceException se){
return renderResult(Global.FALSE, se.getMessage());
}
// 验证成功后清理验证码,验证码只允许使用一次。
UserUtils.removeCache("regUserType");
@@ -337,17 +332,10 @@ public class AccountController extends BaseController{
*/
private String sendEmailValidCode(User user, String code, String title){
try {
Class<?> message = Class.forName("com.jeesite.modules.msg.entity.MsgPushEntity");
Class<?> messageUtils = Class.forName("com.jeesite.modules.msg.utils.MessageUtils");
Method method = messageUtils.getMethod("sendEmail", String.class, String.class, String.class, String.class, String.class);
String contentTitle = user.getUserName() + "" + user.getLoginCode() + ""+title+"验证码";
String contentText = "尊敬的用户,您好!\n\n您的验证码是" + code +"(请勿透露给其他人)\n\n"
+ "请复制后,填写在你的验证码窗口完成验证。\n\n本邮件由系统自动发出请勿回复。\n\n感谢您的使用。";
String receiverType = (String)message.getField("RECEIVER_TYPE_NONE").get(null);
String receiverCodes = user.getEmail(), receiverNames = user.getUserName();
method.invoke(null, contentTitle, contentText, receiverType, receiverCodes, receiverNames);
} catch (ClassNotFoundException e) {
return renderResult(Global.FALSE, "消息模块未安装,请联系管理员!");
} catch (Exception e) {
logger.error(title+"发送邮件错误。", e);
return renderResult(Global.FALSE, "系统出现了点问题,错误信息:" + e.getMessage());
@@ -360,16 +348,9 @@ public class AccountController extends BaseController{
*/
private String sendSmsValidCode(User user, String code, String title){
try {
Class<?> message = Class.forName("com.jeesite.modules.msg.entity.MsgPushEntity");
Class<?> messageUtils = Class.forName("com.jeesite.modules.msg.utils.MessageUtils");
Method method = messageUtils.getMethod("sendSms", String.class, String.class, String.class, String.class, String.class);
String contentTitle = user.getUserName() + "" + user.getLoginCode() + ""+title+"验证码";
String contentText = "您好,您的验证码是:" + code +"(请勿透露给其他人)感谢您的使用。";
String receiverType = (String)message.getField("RECEIVER_TYPE_NONE").get(null);
String receiverCodes = user.getMobile(), receiverNames = user.getUserName();
method.invoke(null, contentTitle, contentText, receiverType, receiverCodes, receiverNames);
} catch (ClassNotFoundException e) {
return renderResult(Global.FALSE, "消息模块未安装,请联系管理员!");
} catch (Exception e) {
logger.error(title+"发送短信错误。", e);
return renderResult(Global.FALSE, "系统出现了点问题,错误信息:" + e.getMessage());

View File

@@ -197,7 +197,7 @@ user:
# 集团模式多公司、多租户、SAAS模式
useCorpModel: false
# 任务调度
job:
@@ -222,7 +222,7 @@ cms:
# 内容管理主站点编码
mainSiteCode: main
#============================#
#==== Framework settings ====#
#============================#
@@ -260,6 +260,9 @@ shiro:
# 登录提交信息安全Key加密用户名、密码、验证码后再提交key设置为3个用逗号分隔
secretKey: thinkgem,jeesite,com
# 允许的请求方法设定,解决安全审计问题
allowRequestMethods: GET,POST
# 是否允许账号多地登录如果设置为false同一个设备类型的其它地点登录的相同账号被踢下线
isAllowMultiAddrLogin: true
@@ -395,6 +398,11 @@ web:
# 静态文件后缀排除的url路径指定哪些uri路径不进行静态文件过滤。
staticFileExcludeUri: /druid/
# 自定义正则表达式验证(主键、登录名)
validator:
id: '[a-zA-Z0-9_\-/\u4e00-\u9fa5]{0,64}'
user.loginCode: '[a-zA-Z0-9_\u4e00-\u9fa5]{4,20}'
# 错误页面500.html是否输出错误信息正式环境为提供安全性可设置为false
error:
page:

View File

@@ -33,7 +33,7 @@ sys.user.oldPasswordError=Old password error, please retype.
sys.user.confirmPasswrodError=The new password is different from the confirm password. please retype.
sys.user.passwordModifySuccess=Change password success
sys.user.passwordModifyNotRepeat=The new password cannot be the same as the previous {0}.
sys.user.passwordModifySecurityLevel=Password change failed because you set the password to weak password!
sys.user.passwordModifySecurityLevel=Password update failed because you set the password to weak password!
sys.user.initPasswordModifyTip=Your password is the init password, please change the password!
sys.user.passwordModifyTip=Your password {0} day has not been modified , please change the password!
sys.user.passwordError=Password error, please retype.

View File

@@ -33,7 +33,7 @@ sys.user.oldPasswordError=旧密码错误,请重新输入
sys.user.confirmPasswrodError=新密码与确认新密码不同,请重新输入
sys.user.passwordModifySuccess=修改密码成功
sys.user.passwordModifyNotRepeat=新密码不能与前 {0} 次,设置的密码相同
sys.user.passwordModifySecurityLevel=密码修改失败,因为你设置的密码为弱密码!
sys.user.passwordModifySecurityLevel=密码更新失败,因为你设置的密码为弱密码!
sys.user.initPasswordModifyTip=您的密码还是初始密码,请修改密码!
sys.user.passwordModifyTip=您的密码已经 {0} 天未修改了,请修改密码!
sys.user.passwordError=登录密码错误,请重新输入