2008-09-23 11 views
7

Ich habe die Anweisung bekamPassing apache2 Authentifizierungsinformationen an einen wsgi Skript von mod_wsgi laufen verdauen

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

ich in der /some/script.wsgi wissen möchten

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

Was Benutzer ist angemeldet.

Wie mache ich das?

Antwort

14

WSGIPassAuthorization On hinzufügen:

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

Dann environ['REMOTE_USER'] lesen gerade:

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

Weitere Informationen unter mod_wsgi documentation.

+0

Viel, viel verpflichtet. –

2

Weitere Informationen über Apache/mod_wsgi und Zugang, Authentifizierungs- und Autorisierungsmechanismen zu finden in: weil so vielleicht tun

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

Die Informationen werden nicht weitergegeben standardmäßig könnte Kennwortinformationen zu Anwendungen auslaufen die sollte es nicht bekommen.