Merge pull request #1 from kubesphere/master

fork code
This commit is contained in:
alex.fan
2018-06-05 15:46:18 +08:00
committed by GitHub
3 changed files with 9 additions and 5 deletions

View File

@@ -25,6 +25,7 @@ import (
"strings"
"kubesphere.io/kubesphere/pkg/constants"
"k8s.io/api/rbac/v1"
"k8s.io/kubernetes/pkg/util/slice"
)
func Register(ws *restful.WebService) {
@@ -86,7 +87,9 @@ func roleUsersHandler(req *restful.Request, resp *restful.Response) {
for _, roleBinding := range roleBindings {
for _, subject := range roleBinding.Subjects {
if subject.Kind == v1.UserKind {
if subject.Kind == v1.UserKind &&
!strings.HasPrefix(subject.Name, "system") &&
!slice.ContainsString(users, subject.Name, nil) {
users = append(users, subject.Name)
}
}
@@ -110,7 +113,8 @@ func clusterRoleUsersHandler(req *restful.Request, resp *restful.Response) {
for _, roleBinding := range roleBindings {
for _, subject := range roleBinding.Subjects {
if subject.Kind == v1.UserKind {
if subject.Kind == v1.UserKind && !strings.HasPrefix(subject.Name, "system") &&
!slice.ContainsString(users, subject.Name, nil) {
users = append(users, subject.Name)
}
}

View File

@@ -41,7 +41,7 @@ type userRuleList struct {
Rules map[string][]rule `json:"rules"`
}
// TODO design all frontend-facing rules
// TODO stored in etcd, allow updates
var (
clusterRoleRuleGroup = []rule{projectsManagement, userManagement, roleManagement, registryManagement,
volumeManagement, storageclassManagement, nodeManagement, appCatalogManagement, appManagement}

View File

@@ -33,7 +33,7 @@ func GetClusterRoleBindings(name string) ([]v1.ClusterRoleBinding, error) {
}
}
return roleBindingList.Items, nil
return items, nil
}
func GetRoleBindings(namespace string, name string) ([]v1.RoleBinding, error) {
@@ -53,7 +53,7 @@ func GetRoleBindings(namespace string, name string) ([]v1.RoleBinding, error) {
}
}
return roleBindingList.Items, nil
return items, nil
}
func GetClusterRole(name string) (*v1.ClusterRole, error) {