yonge 3 years ago
parent
commit
6f217b2359

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/filter/UsernameAuthenticationFilter.java

@@ -73,6 +73,9 @@ public class UsernameAuthenticationFilter extends AbstractAuthenticationProcessi
 		if (userInfo == null) {
 			throw new UsernameNotFoundException("404.9");
 		}
+		if (userInfo.getSysUser().getLockFlag() == 1) {
+			throw new LockedException("用户已锁定");
+		}
 	
 //		if (userInfo.getSysUser().getUserType() != SysUserType.SYSTEM && !StringUtils.equalsIgnoreCase(clientId, userInfo.getSysUser().getUserType().getCode())) {
 //			throw new LockedException("登录失败");

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -80,6 +80,9 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
 			if (user == null) {
 				throw new LockedException("用户不存在");
 			}
+			if (user.getLockFlag() == 1) {
+				throw new LockedException("用户已锁定");
+			}
 			
 			if (StringUtils.isNotBlank(deviceNum)) {
 				sysUserDeviceService.bindDevice(clientId, user.getId(), deviceNum);

+ 2 - 3
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/service/CustomTokenServices.java

@@ -275,14 +275,13 @@ public class CustomTokenServices implements AuthorizationServerTokenServices, Re
 		return clientAuth.getClientId();
 	}
 	
-	public boolean revokeToken(String clientId, String phone){
+	public boolean revokeToken(String clientId, String phone) {
 		Collection<OAuth2AccessToken> list = tokenStore.findTokensByClientIdAndUserName(clientId, SecurityConstants.PHONE_PRINCIPAL_PREFIX + phone);
 
 		if (list == null || list.size() == 0) {
 			list = tokenStore.findTokensByClientIdAndUserName(clientId, SecurityConstants.USERNAME_PRINCIPAL_PREFIX + phone);
-		} else {
-			list.addAll(tokenStore.findTokensByClientIdAndUserName(clientId, SecurityConstants.USERNAME_PRINCIPAL_PREFIX + phone));
 		}
+
 		if (list != null) {
 			for (OAuth2AccessToken accessToken : list) {
 				if (accessToken != null) {

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserDeviceServiceImpl.java

@@ -52,7 +52,7 @@ public class SysUserDeviceServiceImpl extends BaseServiceImpl<Long, SysUserDevic
 
 			if (!deviceList.contains(deviceNum)) {
 				if (deviceList.size() >= 5) {
-					throw new BadCredentialsException("当前账号绑定设备过多,请联系主教老师");
+					throw new BadCredentialsException("登录失败,当前账号绑定设备过多");
 				}
 
 				SysUserDevice sysUserDevice = new SysUserDevice();

+ 3 - 3
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java

@@ -318,13 +318,13 @@ public class UserController extends BaseController {
         
         if(lockFlag == 1){
         	if(sysUser.getUserType().contains("STUDENT")){
-        		tokenService.revokeToken("STUDENT", sysUser.getPhone());
+        		tokenService.revokeToken("student", sysUser.getPhone());
         	}
         	if(sysUser.getUserType().contains("TEACHER")){
-        		tokenService.revokeToken("TEACHER", sysUser.getPhone());
+        		tokenService.revokeToken("teacher", sysUser.getPhone());
         	}
         	if(sysUser.getUserType().contains("SYSTEM")){
-        		tokenService.revokeToken("SYSTEM", sysUser.getPhone());
+        		tokenService.revokeToken("system", sysUser.getPhone());
         	}
         }
         sysUser.setUpdateTime(new Date());