mirror of https://github.com/portainer/portainer
fix(http): update volume browsing validation (#3416)
parent
c2e1129804
commit
badb6ee50f
|
@ -432,22 +432,24 @@ func (transport *Transport) restrictedResourceOperation(request *http.Request, r
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
user, err := transport.userService.User(tokenData.ID)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
if volumeBrowseRestrictionCheck {
|
if volumeBrowseRestrictionCheck {
|
||||||
settings, err := transport.settingsService.Settings()
|
settings, err := transport.settingsService.Settings()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if rbacExtension != nil && !settings.AllowVolumeBrowserForRegularUsers {
|
// Return access denied for all roles except endpoint-administrator
|
||||||
|
_, userCanBrowse := user.EndpointAuthorizations[transport.endpoint.ID][portainer.OperationDockerAgentBrowseList]
|
||||||
|
if rbacExtension != nil && !settings.AllowVolumeBrowserForRegularUsers && !userCanBrowse {
|
||||||
return responseutils.WriteAccessDeniedResponse()
|
return responseutils.WriteAccessDeniedResponse()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
user, err := transport.userService.User(tokenData.ID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
endpointResourceAccess := false
|
endpointResourceAccess := false
|
||||||
_, ok := user.EndpointAuthorizations[transport.endpoint.ID][portainer.EndpointResourcesAccess]
|
_, ok := user.EndpointAuthorizations[transport.endpoint.ID][portainer.EndpointResourcesAccess]
|
||||||
if ok {
|
if ok {
|
||||||
|
|
Loading…
Reference in New Issue