github.com/Cloud-Foundations/Dominator@v0.3.4/hypervisor/manager/owners.go (about) 1 package manager 2 3 import ( 4 "github.com/Cloud-Foundations/Dominator/lib/srpc" 5 "github.com/Cloud-Foundations/Dominator/lib/stringutil" 6 ) 7 8 func (m *Manager) changeOwners(ownerGroups, ownerUsers []string) error { 9 ownerGroupsMap := stringutil.ConvertListToMap(ownerGroups, false) 10 ownerUsersMap := stringutil.ConvertListToMap(ownerUsers, false) 11 m.mutex.Lock() 12 defer m.mutex.Unlock() 13 m.ownerGroups = ownerGroupsMap 14 m.ownerUsers = ownerUsersMap 15 return nil 16 } 17 18 func (m *Manager) checkOwnership(authInfo *srpc.AuthInformation) bool { 19 m.mutex.Lock() 20 defer m.mutex.Unlock() 21 if authInfo.Username != "" { 22 if _, ok := m.ownerUsers[authInfo.Username]; ok { 23 return true 24 } 25 } 26 for group := range authInfo.GroupList { 27 if _, ok := m.ownerGroups[group]; ok { 28 return true 29 } 30 } 31 return false 32 }