From 8308b93ac25809d32575a83ebc137c5734935d54 Mon Sep 17 00:00:00 2001 From: hongming Date: Wed, 12 Feb 2020 18:10:16 +0800 Subject: [PATCH] fix: delete login logs when account is deleted Signed-off-by: hongming --- pkg/models/iam/im.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkg/models/iam/im.go b/pkg/models/iam/im.go index 4a1c02c40..b42877a42 100644 --- a/pkg/models/iam/im.go +++ b/pkg/models/iam/im.go @@ -504,6 +504,19 @@ func loginLog(uid, ip string) { redisClient.LTrim(fmt.Sprintf("kubesphere:users:%s:login-log", uid), -10, -1) } } +func deleteLoginLogs(uid string) error { + redisClient, err := clientset.ClientSets().Redis() + if err != nil { + klog.Errorln(err) + return err + } + err = redisClient.Del(fmt.Sprintf("kubesphere:users:%s:login-log", uid)).Err() + if err != nil { + klog.Errorln(err) + return err + } + return nil +} func LoginLog(username string) ([]string, error) { redisClient, err := clientset.ClientSets().Redis() @@ -790,6 +803,11 @@ func DeleteUser(username string) error { if err := deleteUserInDevOps(username); err != nil { klog.Errorln("delete user in devops failed", username, err) } + + if err := deleteLoginLogs(username); err != nil { + klog.Errorln(err) + } + return nil }