@@ -179,7 +179,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetClusterDetail(w http.ResponseWrite
179
179
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
180
180
return
181
181
}
182
- authenticated , err := handler .clusterRbacService .CheckAuthorization (cluster .ClusterName , cluster .Id , token , userId , false )
182
+ authenticated , err := handler .clusterRbacService .CheckAuthorization (cluster .ClusterName , cluster .Id , token , userId , true )
183
183
if err != nil {
184
184
handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , clusterId )
185
185
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -219,12 +219,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetNodeList(w http.ResponseWriter, r
219
219
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
220
220
return
221
221
}
222
- authenticated , err := handler .clusterRbacService .CheckAuthorization (cluster .ClusterName , cluster .Id , token , userId , false )
223
- if err != nil {
224
- handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , clusterId )
225
- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
226
- return
227
- }
222
+ authenticated := handler .clusterRbacService .CheckAuthorisationForNode (token , cluster .ClusterName , "" , casbin .ActionGet )
228
223
if ! authenticated {
229
224
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
230
225
return
@@ -265,12 +260,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetNodeDetail(w http.ResponseWriter,
265
260
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
266
261
return
267
262
}
268
- authenticated , err := handler .clusterRbacService .CheckAuthorization (cluster .ClusterName , cluster .Id , token , userId , false )
269
- if err != nil {
270
- handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , clusterId )
271
- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
272
- return
273
- }
263
+ authenticated := handler .clusterRbacService .CheckAuthorisationForNode (token , cluster .ClusterName , name , casbin .ActionGet )
274
264
if ! authenticated {
275
265
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
276
266
return
@@ -300,7 +290,13 @@ func (handler *K8sCapacityRestHandlerImpl) UpdateNodeManifest(w http.ResponseWri
300
290
}
301
291
// RBAC enforcer applying
302
292
token := r .Header .Get ("token" )
303
- if ok := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionUpdate , "*" ); ! ok {
293
+ authenticated , err := handler .clusterRbacService .CheckAuthorisationForNodeWithClusterId (token , manifestUpdateReq .ClusterId , manifestUpdateReq .Name , casbin .ActionUpdate )
294
+ if err != nil {
295
+ handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , manifestUpdateReq .ClusterId )
296
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
297
+ return
298
+ }
299
+ if ! authenticated {
304
300
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
305
301
return
306
302
}
@@ -329,7 +325,13 @@ func (handler *K8sCapacityRestHandlerImpl) DeleteNode(w http.ResponseWriter, r *
329
325
}
330
326
// RBAC enforcer applying
331
327
token := r .Header .Get ("token" )
332
- if ok := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionDelete , "*" ); ! ok {
328
+ authenticated , err := handler .clusterRbacService .CheckAuthorisationForNodeWithClusterId (token , nodeDelReq .ClusterId , nodeDelReq .Name , casbin .ActionDelete )
329
+ if err != nil {
330
+ handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , nodeDelReq .ClusterId )
331
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
332
+ return
333
+ }
334
+ if ! authenticated {
333
335
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
334
336
return
335
337
}
@@ -367,7 +369,13 @@ func (handler *K8sCapacityRestHandlerImpl) CordonOrUnCordonNode(w http.ResponseW
367
369
}
368
370
// RBAC enforcer applying
369
371
token := r .Header .Get ("token" )
370
- if ok := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionUpdate , "*" ); ! ok {
372
+ authenticated , err := handler .clusterRbacService .CheckAuthorisationForNodeWithClusterId (token , nodeCordonReq .ClusterId , nodeCordonReq .Name , casbin .ActionUpdate )
373
+ if err != nil {
374
+ handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , nodeCordonReq .ClusterId )
375
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
376
+ return
377
+ }
378
+ if ! authenticated {
371
379
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
372
380
return
373
381
}
@@ -396,7 +404,13 @@ func (handler *K8sCapacityRestHandlerImpl) DrainNode(w http.ResponseWriter, r *h
396
404
}
397
405
// RBAC enforcer applying
398
406
token := r .Header .Get ("token" )
399
- if ok := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionUpdate , "*" ); ! ok {
407
+ authenticated , err := handler .clusterRbacService .CheckAuthorisationForNodeWithClusterId (token , nodeDrainReq .ClusterId , nodeDrainReq .Name , casbin .ActionUpdate )
408
+ if err != nil {
409
+ handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , nodeDrainReq .ClusterId )
410
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
411
+ return
412
+ }
413
+ if ! authenticated {
400
414
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
401
415
return
402
416
}
@@ -425,7 +439,13 @@ func (handler *K8sCapacityRestHandlerImpl) EditNodeTaints(w http.ResponseWriter,
425
439
}
426
440
// RBAC enforcer applying
427
441
token := r .Header .Get ("token" )
428
- if ok := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionUpdate , "*" ); ! ok {
442
+ authenticated , err := handler .clusterRbacService .CheckAuthorisationForNodeWithClusterId (token , nodeTaintReq .ClusterId , nodeTaintReq .Name , casbin .ActionUpdate )
443
+ if err != nil {
444
+ handler .logger .Errorw ("error in checking rbac for cluster" , "err" , err , "clusterId" , nodeTaintReq .ClusterId )
445
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
446
+ return
447
+ }
448
+ if ! authenticated {
429
449
common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
430
450
return
431
451
}
0 commit comments