|
|
|
|
@ -465,13 +465,16 @@ var teamsEditAccessEvaluator = ac.EvalAll( |
|
|
|
|
|
|
|
|
|
// Metadata helpers
|
|
|
|
|
// getAccessControlMetadata returns the accesscontrol metadata associated with a given resource
|
|
|
|
|
func (hs *HTTPServer) getAccessControlMetadata(c *models.ReqContext, prefix string, resourceID string) ac.Metadata { |
|
|
|
|
func (hs *HTTPServer) getAccessControlMetadata(c *models.ReqContext, |
|
|
|
|
orgID int64, prefix string, resourceID string) ac.Metadata { |
|
|
|
|
ids := map[string]bool{resourceID: true} |
|
|
|
|
return hs.getMultiAccessControlMetadata(c, prefix, ids)[resourceID] |
|
|
|
|
return hs.getMultiAccessControlMetadata(c, orgID, prefix, ids)[resourceID] |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// getMultiAccessControlMetadata returns the accesscontrol metadata associated with a given set of resources
|
|
|
|
|
func (hs *HTTPServer) getMultiAccessControlMetadata(c *models.ReqContext, prefix string, resourceIDs map[string]bool) map[string]ac.Metadata { |
|
|
|
|
// Context must contain permissions in the given org (see LoadPermissionsMiddleware or AuthorizeInOrgMiddleware)
|
|
|
|
|
func (hs *HTTPServer) getMultiAccessControlMetadata(c *models.ReqContext, |
|
|
|
|
orgID int64, prefix string, resourceIDs map[string]bool) map[string]ac.Metadata { |
|
|
|
|
if hs.AccessControl.IsDisabled() || !c.QueryBool("accesscontrol") { |
|
|
|
|
return map[string]ac.Metadata{} |
|
|
|
|
} |
|
|
|
|
@ -480,7 +483,7 @@ func (hs *HTTPServer) getMultiAccessControlMetadata(c *models.ReqContext, prefix |
|
|
|
|
return map[string]ac.Metadata{} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
permissions, ok := c.SignedInUser.Permissions[c.OrgId] |
|
|
|
|
permissions, ok := c.SignedInUser.Permissions[orgID] |
|
|
|
|
if !ok { |
|
|
|
|
return map[string]ac.Metadata{} |
|
|
|
|
} |
|
|
|
|
|