Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)
Paste
Pasted as Plain Text by utek ( 14 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.add_processor(auth_app_processor)
application = app.wsgifunc()
Revise this Paste
Parent: 56456