微信免密登录
This commit is contained in:
@@ -7,6 +7,7 @@ import io.v.nutz.web.commons.shiro.token.PlatformCaptchaToken;
|
|||||||
import org.apache.shiro.authc.AuthenticationInfo;
|
import org.apache.shiro.authc.AuthenticationInfo;
|
||||||
import org.apache.shiro.authc.AuthenticationToken;
|
import org.apache.shiro.authc.AuthenticationToken;
|
||||||
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
|
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class EasyCredentialsMatch extends HashedCredentialsMatcher {
|
public class EasyCredentialsMatch extends HashedCredentialsMatcher {
|
||||||
@@ -25,7 +26,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)) {
|
||||||
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)) {
|
}else if (!loginOrigin.equals(LoginUtil.LoginOrigin.CAS) && !loginOrigin.equals(LoginUtil.LoginOrigin.QI_YE_WEI_XIN) && !loginOrigin.equals(LoginUtil.LoginOrigin.WEI_XIN)) {
|
||||||
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, "登录账号不可为空");
|
||||||
@@ -116,7 +116,7 @@ public class PlatformAuthorizingRealm extends AuthorizingRealm {
|
|||||||
throw Lang.makeThrow(LockedAccountException.class, "账号被禁用", loginname);
|
throw Lang.makeThrow(LockedAccountException.class, "账号被禁用", loginname);
|
||||||
}
|
}
|
||||||
|
|
||||||
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)) {
|
||||||
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分钟
|
||||||
|
|||||||
Reference in New Issue
Block a user