Skip to content

Commit 0142fa3

Browse files
authored
fix admin can't deactivate itself (#1129)
request.UserInfo.Username contains the user.Name not the user.Username Enabled defaults to true if not initialized
1 parent 672996f commit 0142fa3

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

pkg/resources/management.cattle.io/v3/users/validator.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,10 @@ func (a *admitter) Admit(request *admission.Request) (*admissionv1.AdmissionResp
100100
}
101101
}
102102

103-
oldUserEnabled := ptr.Deref(oldUser.Enabled, false)
104-
newUserEnabled := ptr.Deref(newUser.Enabled, false)
103+
oldUserEnabled := ptr.Deref(oldUser.Enabled, true)
104+
newUserEnabled := ptr.Deref(newUser.Enabled, true)
105105

106-
if newUser.Username == request.UserInfo.Username && oldUserEnabled && !newUserEnabled {
106+
if newUser.Name == request.UserInfo.Username && oldUserEnabled && !newUserEnabled {
107107
return admission.ResponseBadRequest("can't deactivate yourself"), nil
108108
}
109109
}

pkg/resources/management.cattle.io/v3/users/validator_test.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,13 @@ func Test_Admit(t *testing.T) {
259259
Username: defaultUserName,
260260
Enabled: ptr.To(true),
261261
},
262-
newUser: defaultUser.DeepCopy(),
262+
newUser: &v3.User{
263+
ObjectMeta: metav1.ObjectMeta{
264+
Name: defaultUserName,
265+
},
266+
Username: defaultUserName,
267+
Enabled: ptr.To(false),
268+
},
263269
requestUserName: defaultUserName,
264270
allowed: false,
265271
},

0 commit comments

Comments
 (0)