Pasando apache2 digerir la información de autenticación a un wsgi script se ejecute por mod_wsgi

StackOverflow https://stackoverflow.com/questions/123499

Pregunta

Tengo la directiva

<VirtualHost *>
    <Location />
        AuthType Digest
        AuthName "global"
        AuthDigestDomain /
        AuthUserFile /root/apache_users
        <Limit GET>
            Require valid-user
        </Limit>
    </Location>
    WSGIScriptAlias / /some/script.wsgi
    WSGIDaemonProcess mywsgi user=someuser group=somegroup processes=2 threads=25
    WSGIProcessGroup mywsgi
    ServerName some.example.org
</VirtualHost>

Me gustaría saber en el /algunos/script.wsgi

def application(environ, start_response):
    start_response('200 OK', [
        ('Content-Type', 'text/plain'),
    ])
    return ['Hello']

Lo que el usuario inicia la sesión.

¿Cómo puedo hacer eso?

¿Fue útil?

Solución

agregar WSGIPassAuthorization On:

<VirtualHost *>
    <Location />
        AuthType Digest
        AuthName "global"
        AuthDigestDomain /
        AuthUserFile /root/apache_users
        <Limit GET>
            Require valid-user
        </Limit>
    </Location>
    WSGIPassAuthorization On
    WSGIScriptAlias / /some/script.wsgi
    WSGIDaemonProcess mywsgi user=someuser group=somegroup processes=2 threads=25
    WSGIProcessGroup mywsgi
    ServerName some.example.org
</VirtualHost>

A continuación, sólo lectura environ['REMOTE_USER']:

def application(environ, start_response):
    start_response('200 OK', [
        ('Content-Type', 'text/plain'),
    ])
    return ['Hello %s' % environ['REMOTE_USER']]

Más información en mod_wsgi documentación.

Otros consejos

Información adicional sobre Apache/mod_wsgi y de acceso, autenticación y mecanismos de autorización se puede encontrar en:

http://code.google.com/p/modwsgi/wiki/AccessControlMechanisms

La información no está aprobada por defecto, ya que hacerlo podría perder la información de la contraseña a las aplicaciones que tal vez no lo consigue.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top