mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
auth: cleanup store.go
This commit is contained in:
parent
65abcc1a59
commit
f8c1a50195
@ -353,20 +353,18 @@ func (as *authStore) UserRevokeRole(r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUs
|
|||||||
return nil, ErrUserNotFound
|
return nil, ErrUserNotFound
|
||||||
}
|
}
|
||||||
|
|
||||||
updatedUser := &authpb.User{}
|
updatedUser := &authpb.User{
|
||||||
updatedUser.Name = user.Name
|
Name: user.Name,
|
||||||
updatedUser.Password = user.Password
|
Password: user.Password,
|
||||||
|
}
|
||||||
|
|
||||||
revoked := false
|
|
||||||
for _, role := range user.Roles {
|
for _, role := range user.Roles {
|
||||||
if strings.Compare(role, r.Role) != 0 {
|
if strings.Compare(role, r.Role) != 0 {
|
||||||
updatedUser.Roles = append(updatedUser.Roles, role)
|
updatedUser.Roles = append(updatedUser.Roles, role)
|
||||||
} else {
|
|
||||||
revoked = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !revoked {
|
if len(updatedUser.Roles) == len(user.Roles) {
|
||||||
return nil, ErrRoleNotGranted
|
return nil, ErrRoleNotGranted
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -406,19 +404,17 @@ func (as *authStore) RoleRevokePermission(r *pb.AuthRoleRevokePermissionRequest)
|
|||||||
return nil, ErrRoleNotFound
|
return nil, ErrRoleNotFound
|
||||||
}
|
}
|
||||||
|
|
||||||
updatedRole := &authpb.Role{}
|
updatedRole := &authpb.Role{
|
||||||
updatedRole.Name = role.Name
|
Name: role.Name,
|
||||||
|
}
|
||||||
|
|
||||||
revoked := false
|
|
||||||
for _, perm := range role.KeyPermission {
|
for _, perm := range role.KeyPermission {
|
||||||
if !bytes.Equal(perm.Key, []byte(r.Key)) || !bytes.Equal(perm.RangeEnd, []byte(r.RangeEnd)) {
|
if !bytes.Equal(perm.Key, []byte(r.Key)) || !bytes.Equal(perm.RangeEnd, []byte(r.RangeEnd)) {
|
||||||
updatedRole.KeyPermission = append(updatedRole.KeyPermission, perm)
|
updatedRole.KeyPermission = append(updatedRole.KeyPermission, perm)
|
||||||
} else {
|
|
||||||
revoked = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !revoked {
|
if len(role.KeyPermission) == len(updatedRole.KeyPermission) {
|
||||||
return nil, ErrPermissionNotGranted
|
return nil, ErrPermissionNotGranted
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user