Преглед на файлове

登录不使用缓存,该缓存命中率不高,同时解决由于由于缓存引起密码无法更改的问题

OPGame преди 5 години
родител
ревизия
9a76de8092

+ 1 - 8
yami-shop-admin/src/main/java/com/yami/shop/admin/security/YamiSysUserDetailsServiceImpl.java

@@ -60,14 +60,7 @@ public class YamiSysUserDetailsServiceImpl implements YamiUserDetailsService {
 	@Override
 	@SneakyThrows
 	public YamiSysUser loadUserByUsername(String username) {
-		YamiSysUser userDetails = cacheManagerUtil.getCache("yami_sys_user", username);
-		if (userDetails != null) {
-			return userDetails;
-		}
-
-		userDetails = getUserDetails(username);
-		cacheManagerUtil.putCache("yami_sys_user",username, userDetails);
-		return userDetails;
+		return getUserDetails(username);
 	}
 
 

+ 1 - 8
yami-shop-api/src/main/java/com/yami/shop/api/security/YamiUserServiceImpl.java

@@ -75,22 +75,15 @@ public class YamiUserServiceImpl implements YamiUserDetailsService {
 
 		String cacheKey = app.value() + StrUtil.COLON + bizUserId;
 
-		YamiUser yamiUser = cacheManagerUtil.getCache("yami_user", cacheKey);
-		if (yamiUser != null) {
-			return yamiUser;
-		}
-
-
 		User user = userMapper.getUserByBizUserId(app.value(), bizUserId);
 		if (user == null) {
 			throw new UsernameNotFoundExceptionBase("无法获取用户信息");
 		}
 		String name = StrUtil.isBlank(user.getRealName()) ? user.getNickName() : user.getRealName();
-		yamiUser = new YamiUser(user.getUserId(), bizUserId, app.value(), user.getStatus() == 1);
+		YamiUser yamiUser = new YamiUser(user.getUserId(), bizUserId, app.value(), user.getStatus() == 1);
 		yamiUser.setName(name);
 		yamiUser.setPic(user.getPic());
 
-		cacheManagerUtil.putCache("yami_sys_user",cacheKey, yamiUser);
 		return yamiUser;
 	}
 

+ 0 - 4
yami-shop-security/src/main/java/com/yami/shop/security/controller/SysLoginController.java

@@ -63,10 +63,6 @@ public class SysLoginController {
 	 */
 	@PostMapping(value = "/sys/logout")
 	public ResponseEntity<String> logout() {
-		Cache cache = cacheManager.getCache("yami_sys_user");
-		if (cache != null) {
-			cache.evict(SecurityUtils.getSysUser().getUsername());
-		}
 		SecurityContextHolder.clearContext();
 		return ResponseEntity.ok().build();
 	}

+ 11 - 11
yami-shop-security/src/main/java/com/yami/shop/security/util/YamiTokenServices.java

@@ -87,17 +87,17 @@ public class YamiTokenServices implements AuthorizationServerTokenServices, Reso
         OAuth2AccessToken existingAccessToken = tokenStore.getAccessToken(authentication);
         OAuth2RefreshToken refreshToken = null;
         // 如果有token,直接删除,更新token,避免出现缓存问题
-        if (existingAccessToken != null) {
-            if (existingAccessToken.getRefreshToken() != null) {
-                refreshToken = existingAccessToken.getRefreshToken();
-                // The token store could remove the refresh token when the
-                // access token is removed, but we want to
-                // be sure...
-                tokenStore.removeRefreshToken(refreshToken);
-            }
-            tokenStore.removeAccessToken(existingAccessToken);
-
-        }
+//        if (existingAccessToken != null) {
+//            if (existingAccessToken.getRefreshToken() != null) {
+//                refreshToken = existingAccessToken.getRefreshToken();
+//                // The token store could remove the refresh token when the
+//                // access token is removed, but we want to
+//                // be sure...
+//                tokenStore.removeRefreshToken(refreshToken);
+//            }
+//            tokenStore.removeAccessToken(existingAccessToken);
+//
+//        }
 
         // Only create a new refresh token if there wasn't an existing one
         // associated with an expired access token.

+ 0 - 4
yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysUserController.java

@@ -185,10 +185,6 @@ public class SysUserController {
 			return ResponseEntity.badRequest().body("当前用户不能删除");
 		}
 		sysUserService.deleteBatch(userIds,SecurityUtils.getSysUser().getShopId());
-		// 删除缓存
-		for (Long userId : userIds) {
-			sysUserService.evictSysUserById(userId);
-		}
 		return ResponseEntity.ok().build();
 	}
 

+ 3 - 9
yami-shop-sys/src/main/java/com/yami/shop/sys/service/SysUserService.java

@@ -19,7 +19,7 @@ import com.yami.shop.sys.model.SysUser;
  * @author lgh
  */
 public interface SysUserService extends IService<SysUser> {
-	
+
 	/**
 	 * 修改密码
 	 * @param userId       用户ID
@@ -32,8 +32,8 @@ public interface SysUserService extends IService<SysUser> {
 	 * @param user
 	 */
 	void saveUserAndUserRole(SysUser user);
-	
-	
+
+
 	/**
 	 * 更新用户与用户角色关系
 	 * @param user
@@ -60,10 +60,4 @@ public interface SysUserService extends IService<SysUser> {
 	 */
 	SysUser getSysUserById(Long userId);
 
-	/**
-	 * 根据用户id删除用户缓存信息
-	 * @param userId
-	 * @return
-	 */
-	void evictSysUserById(Long userId);
 }

+ 2 - 10
yami-shop-sys/src/main/java/com/yami/shop/sys/service/impl/SysUserServiceImpl.java

@@ -35,7 +35,7 @@ import java.util.Date;
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
 
 	private SysUserRoleMapper sysUserRoleMapper;
-	
+
 	private SysUserMapper sysUserMapper;
 
 	@Override
@@ -52,11 +52,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	@CacheEvict(cacheNames="sys_user",key="#user.userId")
 	public void updateUserAndUserRole(SysUser user) {
 		// 更新用户
 		sysUserMapper.updateById(user);
-		
+
 		//先删除用户与角色关系
 		sysUserRoleMapper.deleteByUserId(user.getUserId());
 
@@ -86,14 +85,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	}
 
 	@Override
-	@Cacheable(cacheNames="sys_user",key="#userId")
 	public SysUser getSysUserById(Long userId) {
 		return sysUserMapper.selectById(userId);
 	}
-
-	@Override
-	@CacheEvict(cacheNames="sys_user",key="#userId")
-	public void evictSysUserById(Long userId) {
-
-	}
 }