3
0

Fix RBAC tracing issue - always append auth roles

Whenever a RBAC check request is sent for a specific user
all user's roles are loaded. This fix appends authenticated
roles to that user as well.
This commit is contained in:
Denis Arh
2022-07-14 18:01:09 +02:00
parent f41b7872f4
commit cd865edb2b
5 changed files with 25 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ import (
"fmt"
"github.com/cortezaproject/corteza-server/automation/types"
"github.com/cortezaproject/corteza-server/pkg/actionlog"
internalAuth "github.com/cortezaproject/corteza-server/pkg/auth"
"github.com/cortezaproject/corteza-server/pkg/rbac"
systemTypes "github.com/cortezaproject/corteza-server/system/types"
"github.com/spf13/cast"
@@ -105,6 +106,10 @@ func (svc accessControl) Trace(ctx context.Context, userID uint64, roles []uint6
for _, m := range members {
roles = append(roles, m.RoleID)
}
for _, r := range internalAuth.AuthenticatedRoles() {
roles = append(roles, r.ID)
}
}
if len(roles) == 0 {

View File

@@ -10,6 +10,7 @@ import (
"github.com/cortezaproject/corteza-server/pkg/rbac"
"github.com/cortezaproject/corteza-server/pkg/actionlog"
systemTypes "github.com/cortezaproject/corteza-server/system/types"
internalAuth "github.com/cortezaproject/corteza-server/pkg/auth"
{{- range .imports }}
{{ . }}
{{- end }}
@@ -104,6 +105,10 @@ func (svc accessControl) Trace(ctx context.Context, userID uint64, roles []uint6
for _, m := range members {
roles = append(roles, m.RoleID)
}
for _, r := range internalAuth.AuthenticatedRoles() {
roles = append(roles, r.ID)
}
}
if len(roles) == 0 {

View File

@@ -11,6 +11,7 @@ import (
"fmt"
"github.com/cortezaproject/corteza-server/compose/types"
"github.com/cortezaproject/corteza-server/pkg/actionlog"
internalAuth "github.com/cortezaproject/corteza-server/pkg/auth"
"github.com/cortezaproject/corteza-server/pkg/rbac"
systemTypes "github.com/cortezaproject/corteza-server/system/types"
"github.com/spf13/cast"
@@ -105,6 +106,10 @@ func (svc accessControl) Trace(ctx context.Context, userID uint64, roles []uint6
for _, m := range members {
roles = append(roles, m.RoleID)
}
for _, r := range internalAuth.AuthenticatedRoles() {
roles = append(roles, r.ID)
}
}
if len(roles) == 0 {

View File

@@ -11,6 +11,7 @@ import (
"fmt"
"github.com/cortezaproject/corteza-server/federation/types"
"github.com/cortezaproject/corteza-server/pkg/actionlog"
internalAuth "github.com/cortezaproject/corteza-server/pkg/auth"
"github.com/cortezaproject/corteza-server/pkg/rbac"
systemTypes "github.com/cortezaproject/corteza-server/system/types"
"github.com/spf13/cast"
@@ -105,6 +106,10 @@ func (svc accessControl) Trace(ctx context.Context, userID uint64, roles []uint6
for _, m := range members {
roles = append(roles, m.RoleID)
}
for _, r := range internalAuth.AuthenticatedRoles() {
roles = append(roles, r.ID)
}
}
if len(roles) == 0 {

View File

@@ -10,6 +10,7 @@ import (
"context"
"fmt"
"github.com/cortezaproject/corteza-server/pkg/actionlog"
internalAuth "github.com/cortezaproject/corteza-server/pkg/auth"
"github.com/cortezaproject/corteza-server/pkg/rbac"
"github.com/cortezaproject/corteza-server/system/types"
systemTypes "github.com/cortezaproject/corteza-server/system/types"
@@ -105,6 +106,10 @@ func (svc accessControl) Trace(ctx context.Context, userID uint64, roles []uint6
for _, m := range members {
roles = append(roles, m.RoleID)
}
for _, r := range internalAuth.AuthenticatedRoles() {
roles = append(roles, r.ID)
}
}
if len(roles) == 0 {