From f6365646a7fcfc23e54db4aad597d19490f2ccac Mon Sep 17 00:00:00 2001 From: Gabriel MABILLE Date: Tue, 27 Sep 2022 09:43:50 +0200 Subject: [PATCH] Fix: RBAC handle `error no resolver` found (#55676) * Fix: Handle error no resolver found * Fix test not to expect the error --- .../accesscontrol/ossaccesscontrol/ossaccesscontrol.go | 4 ++++ .../accesscontrol/ossaccesscontrol/ossaccesscontrol_test.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol.go b/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol.go index 7cc485b2b24..dfb559bdf47 100644 --- a/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol.go +++ b/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol.go @@ -2,6 +2,7 @@ package ossaccesscontrol import ( "context" + "errors" "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/infra/log" @@ -101,6 +102,9 @@ func (ac *OSSAccessControlService) Evaluate(ctx context.Context, user *models.Si resolvedEvaluator, err := evaluator.MutateScopes(ctx, ac.scopeResolvers.GetScopeAttributeMutator(user.OrgId)) if err != nil { + if errors.Is(err, accesscontrol.ErrResolverNotFound) { + return false, nil + } return false, err } return resolvedEvaluator.Evaluate(user.Permissions[user.OrgId]), nil diff --git a/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol_test.go b/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol_test.go index de8ae58bf99..efb0910aaa0 100644 --- a/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol_test.go +++ b/pkg/services/accesscontrol/ossaccesscontrol/ossaccesscontrol_test.go @@ -87,7 +87,7 @@ func TestEvaluatingPermissions(t *testing.T) { {evaluator: accesscontrol.EvalPermission(accesscontrol.ActionUsersCreate, accesscontrol.ScopeGlobalUsersAll)}, }, evalResult: false, - expectedErr: accesscontrol.ErrResolverNotFound, + expectedErr: nil, }, } for _, tc := range testCases {