Passando apache2 digerir informações de autenticação para um script wsgi executado por mod_wsgi

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

Pergunta

Eu tenho a 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>

Eu gostaria de saber na /some/script.wsgi

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

O usuário está conectado.

Como posso fazer isso?

Foi útil?

Solução

add 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>

environ['REMOTE_USER'] Em seguida, basta ler-se:

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

Mais informações em mod_wsgi .

Outras dicas

Informações adicionais sobre Apache / mod_wsgi e acesso, autenticação e mecanismos de autorização pode ser encontrado em:

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

A informação não é passado por padrão, pois isso poderia vazar informações senha para aplicativos que talvez não deve obtê-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top