server_commit

This commit is contained in:
zhengziru
2025-04-05 11:59:12 +08:00
parent b7830ca332
commit 7f48fd423c
7 changed files with 13 additions and 17 deletions
@@ -30,7 +30,7 @@ import javax.servlet.http.HttpSession;
public class LoginUtil { public class LoginUtil {
public enum LoginOrigin { public enum LoginOrigin {
APP, WEB, WEB_H5, CAS, QI_YE_WEI_XIN, WEI_XIN, SMS_CODE; APP, WEB, WEB_H5, CAS, QI_YE_WEI_XIN, WEI_XIN, WEI_XIN_SUCCESS, SMS_CODE;
} }
@Inject @Inject
@@ -126,7 +126,7 @@ public class PwdUtil {
// System.out.println(dbPwd); // System.out.println(dbPwd);
// System.out.println(s); // System.out.println(s);
String pwd = "123456"; String pwd = "002154";
String dbPwd = PwdUtil.doSm4CbcEncrypt(pwd); String dbPwd = PwdUtil.doSm4CbcEncrypt(pwd);
System.out.println(dbPwd); System.out.println(dbPwd);
} }
@@ -11,6 +11,7 @@ import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.base.Globals; import io.v.nutz.web.commons.base.Globals;
import io.v.nutz.web.commons.shiro.exception.CaptchaEmptyException; import io.v.nutz.web.commons.shiro.exception.CaptchaEmptyException;
import io.v.nutz.web.commons.shiro.exception.CaptchaIncorrectException; import io.v.nutz.web.commons.shiro.exception.CaptchaIncorrectException;
import io.v.nutz.web.commons.shiro.filter.PlatformAuthenticationFilter;
import io.v.nutz.web.commons.slog.SLogService; import io.v.nutz.web.commons.slog.SLogService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
@@ -27,10 +28,7 @@ import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json; import org.nutz.json.Json;
import org.nutz.lang.Strings; import org.nutz.lang.Strings;
import org.nutz.lang.util.NutMap; import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.*;
import org.nutz.mvc.annotation.Attr;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
@@ -140,7 +138,7 @@ public class SysWechatController {
String loginName = Optional.ofNullable(sysUser).map(Sys_user::getLoginname).orElse(null); String loginName = Optional.ofNullable(sysUser).map(Sys_user::getLoginname).orElse(null);
try { try {
loginUtil.doLogin(loginName, request, session, LoginUtil.LoginOrigin.WEI_XIN); loginUtil.doLogin(loginName, request, session, LoginUtil.LoginOrigin.WEI_XIN_SUCCESS);
if (StrUtil.isNotBlank(redirect)) { if (StrUtil.isNotBlank(redirect)) {
return ">>:" + redirect; return ">>:" + redirect;
} }
@@ -151,9 +149,6 @@ public class SysWechatController {
} catch (UnknownAccountException e) { } catch (UnknownAccountException e) {
request.setAttribute("errMsg", "系统中没有此用户"); request.setAttribute("errMsg", "系统中没有此用户");
return ">>:" + Globals.AppDomain + "/error/UnknownAccountError.html"; return ">>:" + Globals.AppDomain + "/error/UnknownAccountError.html";
} catch (AuthenticationException e) {
request.setAttribute("errMsg", "系统中没有此用户");
return ">>:" + Globals.AppDomain + "/error/UnknownAccountError.html";
} catch (Exception e) { } catch (Exception e) {
request.setAttribute("errMsg", "用户名或密码错误"); request.setAttribute("errMsg", "用户名或密码错误");
return ">>:" + Globals.AppDomain + "/error/500.html"; return ">>:" + Globals.AppDomain + "/error/500.html";
@@ -162,7 +157,8 @@ public class SysWechatController {
@At @At
@Ok("re") @Ok("json")
@Filters(@By(type = PlatformAuthenticationFilter.class))
public Result doLogin(@Attr("platformLoginToken") AuthenticationToken token, HttpServletRequest request, HttpSession session, @Param("state") String state) { public Result doLogin(@Attr("platformLoginToken") AuthenticationToken token, HttpServletRequest request, HttpSession session, @Param("state") String state) {
System.out.println(state); System.out.println(state);
@@ -32,7 +32,7 @@ public class EasyCredentialsMatch extends HashedCredentialsMatcher {
LoginUtil.LoginOrigin loginOrigin = platformCaptchaToken.getLoginOrigin(); LoginUtil.LoginOrigin loginOrigin = platformCaptchaToken.getLoginOrigin();
//cas和企业微信实现免密登录 //cas和企业微信实现免密登录
if (loginOrigin.equals(LoginUtil.LoginOrigin.CAS) || loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN)){ if (loginOrigin.equals(LoginUtil.LoginOrigin.CAS) || loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) || loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN_SUCCESS)){
return true; return true;
} }
@@ -94,7 +94,7 @@ public class PlatformAuthorizingRealm extends AuthorizingRealm {
throw Lang.makeThrow(AuthenticationException.class, "验证码失效,请重新获取"); throw Lang.makeThrow(AuthenticationException.class, "验证码失效,请重新获取");
} }
user = sysUserService.fetch(Cnd.NEW().and("mobile", "=", mobile)); user = sysUserService.fetch(Cnd.NEW().and("mobile", "=", mobile));
}else if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) && !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN)) { }else if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) && !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN_SUCCESS)) {
validateService.checkCode(key, captcha); validateService.checkCode(key, captcha);
if (Strings.isBlank(loginname)) { if (Strings.isBlank(loginname)) {
throw Lang.makeThrow(AuthenticationException.class, "登录账号不可为空"); throw Lang.makeThrow(AuthenticationException.class, "登录账号不可为空");
@@ -120,7 +120,7 @@ public class PlatformAuthorizingRealm extends AuthorizingRealm {
} }
if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN)
&& !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN)) { && !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN_SUCCESS)) {
int errCount = NumberUtils.toInt(Strings.sNull(session.getAttribute("platformErrCount"))); int errCount = NumberUtils.toInt(Strings.sNull(session.getAttribute("platformErrCount")));
if (errCount >= 4) { if (errCount >= 4) {
//输错5次禁用账户10分钟 //输错5次禁用账户10分钟
@@ -142,7 +142,7 @@ public class mobileLoginController {
} }
String pwd = PwdUtil.doSm4CbcEncrypt(newPwd); String pwd = PwdUtil.doSm4CbcEncrypt(newPwd);
dao.update(Sys_user.class, Chain.make("password", pwd), Cnd.where("id", "=", ShiroUtil.getUserId())); dao.update(Sys_user.class, Chain.make("password", pwd).add("weAppLoginCount", user.getWeAppLoginCount() + 1), Cnd.where("id", "=", ShiroUtil.getUserId()));
sysUserService.deleteCacheAndUpdate(ShiroUtil.getUserId()); sysUserService.deleteCacheAndUpdate(ShiroUtil.getUserId());
return Result.success("修改成功"); return Result.success("修改成功");
@@ -160,6 +160,6 @@ public class mobileLoginController {
sql.setCallback(Sqls.callback.integer()); sql.setCallback(Sqls.callback.integer());
dao.execute(sql); dao.execute(sql);
int count = sql.getInt(); int count = sql.getInt();
return count == 0 ? Result.error() : Result.success(); return count == 1 ? Result.error() : Result.success();
} }
} }
@@ -861,7 +861,7 @@ layout("/layouts/platform.html"){
<el-image <el-image
:src="APP_DOMAIN + '/file_server/fileStreamPreview?id=' + row.applyUserSign" :src="APP_DOMAIN + '/file_server/fileStreamPreview?id=' + row.applyUserSign"
fit="cover" fit="cover"
style="width: 100%; height: 60px" v-if="row.applyUserSign"></el-image> style="height: 60px" v-if="row.applyUserSign"></el-image>
<el-tag type="warning" v-else>暂未签字</el-tag> <el-tag type="warning" v-else>暂未签字</el-tag>
</template> </template>
</el-table-column> </el-table-column>