Welcome, guest! Login / Register - Why register?
[ Pastes: 81650 ] [ Members: 2201 ]

Paste

Short URL: http://goo.gl/sI8uq
Pasted as Plain Text by count12 on Thursday, November 1st, 2012 7:13am ( 4 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>&lt;/html&gt;
   """ % web.ctx.username   


class Login:

 def GET(self):
  return """
  &lt;html&gt;
  &lt;form acti method="post"&gt;
  &lt;input type="text" name="username"&gt;
  &lt;input type="submit" value="Login"&gt;
  &lt;/form&gt;
  &lt;/html&gt;
  """

 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
Your Name:
Code Language:

To minimise the influx of spam: you are required to register to post any code.