summaryrefslogtreecommitdiff
path: root/examples/login_example.py
diff options
context:
space:
mode:
authorianb <devnull@localhost>2005-04-22 02:44:48 +0000
committerianb <devnull@localhost>2005-04-22 02:44:48 +0000
commit4431828c677e6104b7abc62b31a933d2793ff6cf (patch)
tree887f7b87f167a988566657304331ba8bb15ed4d6 /examples/login_example.py
downloadpaste-4431828c677e6104b7abc62b31a933d2793ff6cf.tar.gz
Renamed WSGIKit to Paste
Diffstat (limited to 'examples/login_example.py')
-rw-r--r--examples/login_example.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/login_example.py b/examples/login_example.py
new file mode 100644
index 0000000..ee6e55b
--- /dev/null
+++ b/examples/login_example.py
@@ -0,0 +1,35 @@
+from wsgikit.twisted_wsgi import serve_application
+from wsgikit 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)
+
+
+