首页 > 代码库 > Web.py session用户认证
Web.py session用户认证
调试一个用session来认证用户的程序 大概是这个样子 基本上可以当作webpy session认证的示例程序了
#!/usr/bin/env python#coding=utf-8import webimport timeurls = ( ‘/‘, ‘index‘, ‘/xml‘, ‘pushxml‘, ‘/login‘, ‘login‘, ‘/logout‘, ‘logout‘,)render = web.template.render(‘templates/‘)web.config.debug = Falseapp = web.application(urls, locals())session = web.session.Session(app, web.session.DiskStore(‘sessions‘)) class index(): def GET(self): try: if session.logged_in == True: return ‘<h1>You are logged in</h1><a href="http://www.mamicode.com/logout">Logout</a>‘ except AttributeError: pass return ‘<h1>You are not logged in.</h1><a href="http://www.mamicode.com/login">Login now</a>‘def authorize(func): def logged(*args,**dic): if session.logged_in==True: func(*args,**dic) else: raise web.seeother(‘/login‘) return loggedclass pushxml(): # @authorize def GET(self): try: if session.logged_in == True: web.header(‘Content-Type‘, ‘text/xml‘) i = web.input(data=http://www.mamicode.com/None)""" <form action=/login method=POST> <table id="login"> <tr> <td>User: </td> <td><input type=text name=‘user‘></td> </tr> <tr> <td>Password: </td> <td><input type="password" name=passwd></td> </tr> <tr> <td></td> <td><input type=submit value=http://www.mamicode.com/LOGIN>""" def POST(self): login_data = http://www.mamicode.com/web.input()"posted" print session raise web.seeother(‘/‘) class logout(): def GET(self): try: session.logged_in = False session.kill() except AttributeError: pass raise web.seeother(‘/‘)if __name__ == ‘__main__‘: app.run()
开始的时候为了方便web.config.debug = True(这是默认值) session总是不能保存 经过相当长时间的纠结发现错误竟然出在这里
web.config.debug = False
如上 关掉debug模式session可以正常保存了 究竟失身么原因我也搞不清楚了 今天才看到 http://webpy.org/cookbook/sessions
sessions doesn’t work in debug mode because it interfere with reloading. see session_with_reloader for more details.
FUCK web.py!!!
Web.py session用户认证
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。