From 1c74f30b19eca471f77cd36280d483ceba7b9ee6 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Wed, 13 Mar 2019 07:18:01 +0100 Subject: [PATCH] Fail fast on permission check in case of invalid identity --- internal/rules/resources.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/rules/resources.go b/internal/rules/resources.go index f1ca1a876..6f5a91dde 100644 --- a/internal/rules/resources.go +++ b/internal/rules/resources.go @@ -43,6 +43,11 @@ func (r *resources) identity() uint64 { // IsAllowed function checks granted permission for specific resource and operation. Permission checks on // global level are not allowed and will always return Deny. func (r *resources) Check(resource string, operation string, fallbacks ...CheckAccessFunc) Access { + // Number one check, do we have a valid identity? + if !auth.GetIdentityFromContext(r.ctx).Valid() { + return Deny + } + parts := strings.Split(resource, delimiter) // Permission check on global level is not allowed.