summaryrefslogtreecommitdiff
path: root/examples/login_example.py
blob: d4b7ea30380603577cafba00562b85a1de2ffce2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from paste.twisted_wsgi import serve_application
from paste import echo, login

def twisted_serve(app):
    serve_application(
        app, port=8080)

class AuthTest(login.Authenticator):
    def check_auth (self, username, password):
        print "checking", username, password
        return username == password

def logincheck (wrapped_app):
    def wrapping_app(environ, start_response):
        k = environ.keys()
        k.sort()
        print "environ", k
        if environ.has_key('REMOTE_USER'):
            return wrapped_app(environ, start_response)
        else:
            start_response('401 Unauthorized',
                           [('Content-type','text/plain')])
            return ['Not logged in.']
    return wrapping_app
            

if __name__ == '__main__':
    app = echo.application
    app = logincheck (app)
    app = login.middleware(
        app, http_login=1, authenticator=AuthTest, secret='foo')
    twisted_serve (app)