1
resposta

Por que usuário ANA consegue visualizar Alunos e Cursos?

A usuária ANA foi criada sem as permissões de "Can view usuario" e "Can view Curso" Insira aqui a descrição dessa imagem para ajudar na acessibilidade , Mas mesmo assim ela consegue visualizar esses recursos.

O que precisa ser feito para que esse usuário(a) não conseguisse sequer visualizar esses recursos?

1 resposta

Sobrescrevendo o método list e retrieve do ViewSet da pra bloquear o acesso

class AlunosViewSet(viewsets.ModelViewSet):
    """Exibindo todos os alunos e alunas"""
    queryset = Aluno.objects.all()
    authentication_classes = [BasicAuthentication]
    permission_classes = [IsAuthenticated]

    def get_serializer_class(self):
        if self.request.version == 'v2':
            return AlunoSerializerV2
        else:
            return AlunoSerializer

    def list(self, request, *args, **kwargs):
        response = {'mensagem': 'Acesso negado'}
        return Response(response, status=status.HTTP_403_FORBIDDEN)

talvez funcione se colocar essa sobrescrita em um if para bloquear, caso o usuário não tenha nível de acesso, mas acredito que tenha um jeito melhor pra fazer isso