Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!
Paste
Pasted as Plain Text by count12 ( 11 years ago )
#!/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)
Revise this Paste
Children: 56457