@@ -600,11 +600,13 @@ func (handler *PipelineConfigRestHandlerImpl) TriggerCiPipeline(w http.ResponseW
600
600
appObject , _ := handler .enforcerUtil .GetAppRBACNameByAppId (ciPipeline .AppId )
601
601
workflowObject := handler .enforcerUtil .GetWorkflowRBACByCiPipelineId (ciTriggerRequest .PipelineId , workflowName )
602
602
triggerObject := handler .enforcerUtil .GetTeamEnvRBACNameByCiPipelineIdAndEnvIdOrName (ciTriggerRequest .PipelineId , ciTriggerRequest .EnvironmentId , envName )
603
- appRbacOk := handler . enforcer . Enforce ( token , casbin . ResourceApplications , casbin . ActionTrigger , appObject )
604
- if ! appRbacOk {
603
+ var appRbacOk bool
604
+ if ciPipeline . App . AppType == helper . Job {
605
605
appRbacOk = handler .enforcer .Enforce (token , casbin .ResourceJobs , casbin .ActionTrigger , appObject ) && handler .enforcer .Enforce (token , casbin .ResourceWorkflow , casbin .ActionTrigger , workflowObject ) && handler .enforcer .Enforce (token , casbin .ResourceJobsEnv , casbin .ActionTrigger , triggerObject )
606
- }
607
606
607
+ } else {
608
+ appRbacOk = handler .enforcer .Enforce (token , casbin .ResourceApplications , casbin .ActionTrigger , appObject )
609
+ }
608
610
if ! appRbacOk {
609
611
handler .Logger .Debug (fmt .Errorf ("unauthorized user" ), "Unauthorized User" , http .StatusForbidden )
610
612
common .WriteJsonResp (w , err , "Unauthorized User" , http .StatusForbidden )
@@ -973,12 +975,11 @@ func (handler *PipelineConfigRestHandlerImpl) GetBuildHistory(w http.ResponseWri
973
975
if len (appWorkflowMapping ) > 0 {
974
976
workflowName = appWorkflowMapping [0 ].AppWorkflow .Name
975
977
}
976
- object , _ := handler .enforcerUtil .GetAppRBACNameByAppId (ciPipeline .AppId )
978
+ object , appType := handler .enforcerUtil .GetAppRBACNameByAppId (ciPipeline .AppId )
977
979
workflowResourceObject := handler .enforcerUtil .GetWorkflowRBACByCiPipelineId (pipelineId , workflowName )
978
- if ok := handler .enforcer .Enforce (token , casbin .ResourceApplications , casbin .ActionGet , object ); ok {
979
- isAuthorised = true
980
- }
981
- if ! isAuthorised {
980
+ if appType != helper .Job {
981
+ isAuthorised = handler .enforcer .Enforce (token , casbin .ResourceApplications , casbin .ActionGet , object )
982
+ } else {
982
983
isAuthorised = handler .enforcer .Enforce (token , casbin .ResourceJobs , casbin .ActionGet , object ) && handler .enforcer .Enforce (token , casbin .ResourceWorkflow , casbin .ActionGet , workflowResourceObject )
983
984
}
984
985
if ! isAuthorised {
@@ -987,7 +988,13 @@ func (handler *PipelineConfigRestHandlerImpl) GetBuildHistory(w http.ResponseWri
987
988
}
988
989
//RBAC
989
990
//RBAC for edit tag access , user should have build permission in current ci-pipeline
990
- triggerAccess := handler .enforcer .Enforce (token , casbin .ResourceApplications , casbin .ActionTrigger , object ) || handler .enforcer .Enforce (token , casbin .ResourceJobs , casbin .ActionTrigger , object )
991
+ var triggerAccess bool
992
+ if appType != helper .Job {
993
+ triggerAccess = handler .enforcer .Enforce (token , casbin .ResourceApplications , casbin .ActionTrigger , object )
994
+ } else {
995
+ handler .enforcer .Enforce (token , casbin .ResourceJobs , casbin .ActionTrigger , object )
996
+ }
997
+
991
998
//RBAC
992
999
resp := BuildHistoryResponse {}
993
1000
workflowsResp , err := handler .ciHandler .GetBuildHistory (pipelineId , ciPipeline .AppId , offset , limit )
0 commit comments