Bem vindo!

ao blog Willem Allan

Acesso restrito para ips



django

Classe aonde você trata os ips que são permitidos o uso.

class NeedToLoginMiddleware(object):
    def process_request(self, request):
        ip = request.META['REMOTE_ADDR']
        if not ip in ALLOWED_IP_BLOCKS: #ip check
            if not request.user.is_authenticated(): #if ip check failed, make authentication check
                return HttpResponseRedirect(...)
    return None

Você pode até criar um model aonde você cadastrará os ips que serão permitidos utilizar ao invés de deixar no settings.

1
2
3
4
5
6
7
8
ALLOWED_IP_BLOCKS = [......]
 
MIDDLEWARE_CLASSES = (
    ...
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'path.to.my.NeedToLoginMiddleware',
    ...
)