- #!/usr/bin/python
- import os
- import web
- urls = (
- '/', 'index',
- '/login', 'Login',
- '/logout', 'Logout',
- '/add', 'add',
- '/secure','Secure',
- )
- render=web.template.render('/var/www/pvperformance/test/templates/', base='layout')
- mrender=web.template.render('/var/www/pvperformance/test/templates/' )
- db=web.database(dbn='sqlite',db='/var/www/pvperformance/test/users.db')
- app = web.application(urls, globals())
- application = app.wsgifunc()
- session = web.session.Session(app,
- web.session.DiskStore('/var/www/pvperformance/test/sessions'),
- initializer={'count': 0})
- class index:
- def GET(self):
- return render.index()
- class Secure:
- def GET(self):
- return """
- <html>Hello %s
- <hr>
- <a href="/logout">Log me out</a></html>
- """ % web.ctx.username
- class Login:
- def GET(self):
- return """
- <html>
- <form acti method="post">
- <input type="text" name="username">
- <input type="submit" value="Login">
- </form>
- </html>
- """
- def POST(self):
- # only set cookie if user login succeeds
- name = web.input(username=None).username
- if name:
- web.setcookie('username', name)
- raise web.seeother('/secure')
- class Logout:
- def GET(self):
- web.setcookie('username', '', expires=-1)
- raise web.seeother('/login')
- # Auth Processor
- def auth_app_processor(handle):
- path = web.ctx.path
- web.ctx.username = name = web.cookies(username=None).username
- if not name and path != '/login':
- raise web.seeother('/login')
- return handle()
- app = app.wsgifunc()
- app.add_processor(auth_app_processor)
Edit code: here. | Add this to your website. | Report abuse.
Short URL: http://goo.gl/sI8uq
Pasted as Plain Text by count12 on Thursday, November 1st, 2012 7:13am ( 8 months ago )
Child(s): 56457