Ver Fonte

fix: 车辆设置默认校验归属,防止越权修改他人车辆

- 原 setDefault 按 carId 直接查车置默认,不校验归属,
  任意用户可把他人车辆设为默认
- 查询条件增加 eq(userId),非本人车辆不做任何修改

Co-Authored-By: Claude <noreply@anthropic.com>
skyline há 3 semanas atrás
pai
commit
b12e34d1bd

+ 2 - 1
car-wash-service/src/main/java/com/kym/service/impl/CarsServiceImpl.java

@@ -73,7 +73,8 @@ public class CarsServiceImpl extends MPJBaseServiceImpl<CarsMapper, Cars> implem
                 .eq(Cars::getUserId, userId)
                 .set(Cars::getIsDefault, false)
                 .update();
-        var car = lambdaQuery().eq(Cars::getId, carId).one();
+        // 车辆归属校验:carId 必须属于当前用户,防止越权修改他人车辆的默认状态
+        var car = lambdaQuery().eq(Cars::getId, carId).eq(Cars::getUserId, userId).one();
         if (car != null) {
             car.setIsDefault(true);
             updateById(car);