Skip to content

Commit 0c4573d

Browse files
authored
Merge pull request #24 from devtron-labs/superadmin-security-fix
get api fix wen manager not able to see self roles
2 parents e63b0f0 + bd2a839 commit 0c4573d

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

api/restHandler/UserRestHandler.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@
1818
package restHandler
1919

2020
import (
21+
"encoding/json"
22+
"errors"
2123
"github.com/devtron-labs/devtron/api/bean"
2224
"github.com/devtron-labs/devtron/client/pubsub"
2325
"github.com/devtron-labs/devtron/internal/util"
2426
"github.com/devtron-labs/devtron/pkg/user"
2527
"github.com/devtron-labs/devtron/util/rbac"
2628
"github.com/devtron-labs/devtron/util/response"
27-
"encoding/json"
28-
"errors"
2929
"github.com/gorilla/mux"
3030
"go.uber.org/zap"
3131
"gopkg.in/go-playground/validator.v9"
@@ -211,14 +211,18 @@ func (handler UserRestHandlerImpl) GetById(w http.ResponseWriter, r *http.Reques
211211
// RBAC enforcer applying
212212
token := r.Header.Get("token")
213213
if res.RoleFilters != nil && len(res.RoleFilters) > 0 {
214+
authPass := false
214215
for _, filter := range res.RoleFilters {
215216
if len(filter.Team) > 0 {
216-
if ok := handler.enforcer.Enforce(token, rbac.ResourceUser, rbac.ActionGet, filter.Team); !ok {
217-
response.WriteResponse(http.StatusForbidden, "FORBIDDEN", w, errors.New("unauthorized"))
218-
return
217+
if ok := handler.enforcer.Enforce(token, rbac.ResourceUser, rbac.ActionGet, filter.Team); ok {
218+
authPass = true
219219
}
220220
}
221221
}
222+
if authPass == false {
223+
response.WriteResponse(http.StatusForbidden, "FORBIDDEN", w, errors.New("unauthorized"))
224+
return
225+
}
222226
}
223227
//RBAC enforcer Ends
224228

0 commit comments

Comments
 (0)