mod_wsgi deploy python apache authentication mod-wsgi wsgi

python - deploy - Pasar apache2 digiere información de autenticación a un script wsgi ejecutado por mod_wsgi



wsgi django (2)

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 /some/script.wsgi

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

Qué usuario está conectado

¿Cómo puedo hacer eso?


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

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

La información no se pasa de manera predeterminada porque al hacerlo podría perder información de contraseña a las aplicaciones que tal vez no deberían obtenerla.


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>

Luego solo lea 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 la documentación de mod_wsgi .