diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SessionService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SessionService.java index 391aa0fbe5..b33950c167 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SessionService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SessionService.java @@ -140,11 +140,9 @@ public class SessionService extends BaseService{ /** * query session by user id and ip */ - List sessionList = sessionMapper.queryByUserId(loginUser.getId()); + Session session = sessionMapper.queryByUserIdAndIp(loginUser.getId(),ip); - for (Session session : sessionList){ - //delete session - sessionMapper.deleteById(session.getId()); - } + //delete session + sessionMapper.deleteById(session.getId()); } } diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/SessionMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/SessionMapper.java index 94a5cc4f1f..72175fbad7 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/SessionMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/SessionMapper.java @@ -26,4 +26,6 @@ public interface SessionMapper extends BaseMapper { List queryByUserId(@Param("userId") int userId); + Session queryByUserIdAndIp(@Param("userId") int userId,@Param("ip") String ip); + } diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/SessionMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/SessionMapper.xml index 7647809e89..48297cf946 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/SessionMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/SessionMapper.xml @@ -6,4 +6,10 @@ from t_ds_session where user_id = #{userId} + + \ No newline at end of file