Projet

Général

Profil

Development #15326

Contrôle d'accès à la plateforme

Ajouté par Frédéric Péters il y a environ 7 ans. Mis à jour il y a presque 7 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
07 mars 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:

Description

L'idée est de ne pas dépendre de filtrages faits au niveau de nginx ou autre, qu'on puisse depuis Hobo limiter une plateforme à certaines IP.

Le même mécanisme permettrait d'avoir un écran spécial affiché lors des mises à jour.

(oui pour arriver à ça pour wcs aussi, ça demande le passage de wcs à django)


Demandes liées

Lié à Hobo - Development #63939: Avoir un mode maintenanceFermé14 avril 2022

Actions
Lié à Hobo - Development #64868: Avoir un menu maintenanceFermé05 mai 2022

Actions

Historique

#3

Mis à jour par Frédéric Péters il y a environ 7 ans

  • Description mis à jour (diff)
#4

Mis à jour par Frédéric Péters il y a presque 7 ans

Il y a une "révision associée" qui s'est ajoutée, "add a LimitToIP middleware (#15326)", mais le commit n'existe pour de vrai pas dans le dépôt.

Si c'était juste un truc "comme ça" à oublier ok, mais sinon, Benjamin, si ça t'intéresse, tu t'assignes le ticket ?

#5

Mis à jour par Benjamin Dauvergne il y a presque 7 ans

J'ai poussé ça par mégarde, j'ai viré la révision associé mais je vais laisser le code là pour inspiration:

from django.http import HttpResponseForbidden

class LimitToIPMiddleware(object):
    def process_request(self, request):
        if hasattr(request, 'tenant') and hasattr(request.tenant, 'get_hobo_json'):
            hobo_json = request.tenant.get_hobo_json()
            limit_to_ips = hobo_json.get('variables', {}).get('limit_to_ips', '')
            limit_to_ips = map(unicode.strip, filter(None, limit_to_ips.split(',')))
            if limit_to_ips:
                if request.META['REMOTE_ADDR'] not in limit_to_ips:
                    return HttpResponseForbidden()
        return None
#8

Mis à jour par Frédéric Péters il y a presque 2 ans

#9

Mis à jour par Emmanuel Cazenave il y a presque 2 ans

Formats disponibles : Atom PDF