diff --git a/pkg/models/resources/v1alpha3/workspacerolebinding/workspacerolebindings.go b/pkg/models/resources/v1alpha3/workspacerolebinding/workspacerolebindings.go index fcfd076ae..85b407d2d 100644 --- a/pkg/models/resources/v1alpha3/workspacerolebinding/workspacerolebindings.go +++ b/pkg/models/resources/v1alpha3/workspacerolebinding/workspacerolebindings.go @@ -26,6 +26,8 @@ import ( "kubesphere.io/kubesphere/pkg/models/resources/v1alpha3" ) +const RoleName = "rolename" + type workspacerolebindingsGetter struct { sharedInformers informers.SharedInformerFactory } @@ -75,6 +77,10 @@ func (d *workspacerolebindingsGetter) filter(object runtime.Object, filter query if !ok { return false } - - return v1alpha3.DefaultObjectMetaFilter(role.ObjectMeta, filter) + switch filter.Field { + case RoleName: + return role.RoleRef.Name == string(filter.Value) + default: + return v1alpha3.DefaultObjectMetaFilter(role.ObjectMeta, filter) + } }