Skip to content

Commit

Permalink
rbac: exclude permissions for internal models (#12803)
Browse files Browse the repository at this point in the history
Signed-off-by: Jens Langhammer <[email protected]>
  • Loading branch information
BeryJu authored Jan 25, 2025
1 parent 349572b commit c718b4a
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions authentik/rbac/api/rbac.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.apps import apps
from django.contrib.auth.models import Permission
from django.db.models import QuerySet
from django.db.models import Q, QuerySet
from django_filters.filters import ModelChoiceFilter
from django_filters.filterset import FilterSet
from django_filters.rest_framework import DjangoFilterBackend
Expand All @@ -18,6 +18,7 @@
from rest_framework.permissions import IsAuthenticated
from rest_framework.viewsets import ReadOnlyModelViewSet

from authentik.blueprints.v1.importer import excluded_models
from authentik.core.api.utils import ModelSerializer, PassiveSerializer
from authentik.core.models import User
from authentik.lib.validators import RequiredTogetherValidator
Expand Down Expand Up @@ -105,13 +106,13 @@ class RBACPermissionViewSet(ReadOnlyModelViewSet):
]

def get_queryset(self) -> QuerySet:
return (
Permission.objects.all()
.select_related("content_type")
.filter(
content_type__app_label__startswith="authentik",
query = Q()
for model in excluded_models():
query |= Q(

Check warning on line 111 in authentik/rbac/api/rbac.py

View check run for this annotation

Codecov / codecov/patch

authentik/rbac/api/rbac.py#L109-L111

Added lines #L109 - L111 were not covered by tests
content_type__app_label=model._meta.app_label,
content_type__model=model._meta.model_name,
)
)
return Permission.objects.all().select_related("content_type").exclude(query)

Check warning on line 115 in authentik/rbac/api/rbac.py

View check run for this annotation

Codecov / codecov/patch

authentik/rbac/api/rbac.py#L115

Added line #L115 was not covered by tests


class PermissionAssignSerializer(PassiveSerializer):
Expand Down

0 comments on commit c718b4a

Please sign in to comment.