|
18 | 18 | package restHandler |
19 | 19 |
|
20 | 20 | import ( |
| 21 | + "encoding/json" |
| 22 | + "errors" |
21 | 23 | "github.com/devtron-labs/devtron/api/bean" |
22 | 24 | "github.com/devtron-labs/devtron/client/pubsub" |
23 | 25 | "github.com/devtron-labs/devtron/internal/util" |
24 | 26 | "github.com/devtron-labs/devtron/pkg/user" |
25 | 27 | "github.com/devtron-labs/devtron/util/rbac" |
26 | 28 | "github.com/devtron-labs/devtron/util/response" |
27 | | - "encoding/json" |
28 | | - "errors" |
29 | 29 | "github.com/gorilla/mux" |
30 | 30 | "go.uber.org/zap" |
31 | 31 | "gopkg.in/go-playground/validator.v9" |
@@ -211,14 +211,18 @@ func (handler UserRestHandlerImpl) GetById(w http.ResponseWriter, r *http.Reques |
211 | 211 | // RBAC enforcer applying |
212 | 212 | token := r.Header.Get("token") |
213 | 213 | if res.RoleFilters != nil && len(res.RoleFilters) > 0 { |
| 214 | + authPass := false |
214 | 215 | for _, filter := range res.RoleFilters { |
215 | 216 | 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 |
219 | 219 | } |
220 | 220 | } |
221 | 221 | } |
| 222 | + if authPass == false { |
| 223 | + response.WriteResponse(http.StatusForbidden, "FORBIDDEN", w, errors.New("unauthorized")) |
| 224 | + return |
| 225 | + } |
222 | 226 | } |
223 | 227 | //RBAC enforcer Ends |
224 | 228 |
|
|
0 commit comments