remove deleted users from acl policy

This commit is contained in:
abhishek9686 2025-02-14 21:05:31 +04:00
parent ed1f48a4b4
commit 9812b5c428
2 changed files with 31 additions and 0 deletions

View file

@ -654,6 +654,36 @@ func IsPeerAllowed(node, peer models.Node, checkDefaultPolicy bool) bool {
}
return false
}
func RemoveUserFromAclPolicy(userName string) {
acls := ListAcls()
for _, acl := range acls {
delete := false
update := false
if acl.RuleType == models.UserPolicy {
for i, srcI := range acl.Src {
if srcI.ID == models.UserAclID && srcI.Value == userName {
if len(acl.Src) == 1 {
// delete policy
delete = true
break
} else {
acl.Src = append(acl.Src[:i], acl.Src[i+1:]...)
update = true
}
}
}
if delete {
DeleteAcl(acl)
continue
}
if update {
UpsertAcl(acl)
}
}
}
}
func RemoveNodeFromAclPolicy(node models.Node) {
var nodeID string
if node.IsStatic {

View file

@ -359,6 +359,7 @@ func DeleteUser(user string) (bool, error) {
if err != nil {
return false, err
}
go RemoveUserFromAclPolicy(user)
return true, nil
}