terça-feira, 6 de maio de 2014

Django + http authentication

Salve galera,

Dica de como habilitar a autenticação do Django no Apache. As três linhas abaixo no httpd.conf já fazem o Django trabalhar no Apache com autenticação:

WSGIScriptAlias /opt/app/wsgi.py
WSGIPythonPath /opt/app/webapp
WSGIPassAuthorization On


 E instalar o módulo WSGI:

LoadModule wsgi_module modules/mod_wsgi.so


Se estiver usando o framework REST rest_framework e quiser uma autnticação básica, é só delarar no settings.py:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    ),

    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ), 
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.UnicodeJSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
    )
}

Aqui o wsgi.py caso alguém precise:

import os
import sys

reload(sys)

sys.setdefaultencoding("utf-8")


os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()


E era isso! Até a próxima.

Nenhum comentário:

Postar um comentário