分享

Web.py中的用户登录实现_IThao123 - IT行业第一站

 只怕想不到 2015-09-22
前言
web.py框架下面的用户登录功能实现比较简单一点,只是针对sesson的判断和浏览器cookie的处理 我这里只是针对实现登录的功能,对于账户信息的存储和密码的加密都没有做任何处理。 session和cookie的原理用户访问网站某页面,服务端会根据客户端传过来的cookie在本地寻找是否有对应的session,如果有则保留上一次的状态(如果cookie没有过期),如果没有马上创建一个,然后返回一个新数据给客户端。然后跳转到login页面,进行登录操作,登录完成,服务端会把cookie的自建参数传递给客户端,客户端完成cookie的重新创建。
对session和cookie的一些理解
注意:下面源代码中涉及py脚本中显示问题,所以html的代码都加了''转义,如果要使用需要把转义符删除掉
源代码
功能实现
实现用户登录,根据用户的账号和密码进行验证
实现用户登录和退出功能
实现已登录用户在多页面之间跳转
登录模块的源代码
login.py
#!/usr/bin/env python # coding: utf-8 import web from web import form  urls = (     '/','Index',     '/test','Test',     '/login','Login',     '/logout','Logout', )  render = web.template.render('/opt/py/login')  allowed = (     ('admin','123123'), )  web.config.debug = False app = web.application(urls, locals()) session = web.session.Session(app, web.session.DiskStore('sessions'))  class Index:     def GET(self):         if session.get('logged_in',False):             return '<h1>Login Success!!!</h1>testLogout'         raise web.seeother('/login')  class Login:     def GET(self):         return render.login()     def POST(self):         i = web.input()         username = i.get('username')         passwd = i.get('passwd')         if (username,passwd) in allowed:             session.logged_in = True             web.setcookie('system_mangement', , 60)             raise web.seeother('/')         else:             return '<h1>Login Error!!!</h1>Login'  class Logout:     def GET(self):         session.logged_in = False         raise web.seeother('/login')  class Test:     def GET(self):         if session.get('logged_in',False):             return '<h1> test login success!!!</h1>Logout'         return '<h1>logout now</h1>Login'  if __name__ == '__main__':     app.run()
登录模块调用的模板
 login.html
<html>     <head>         <title>Login Test</title>     </head>     <h1>Login</h1>     <FORM method=POST>         <table id='login'>             <tr>                 <td>User: </td>                 <td><input type=text name='username'></td>             </tr>             <tr>                 <td>Password: </td>                 <td><input type='password' name=passwd></td>             </tr>             <tr>                 <td></td>                 <td><input type=submit></td>             </tr>         </table>     </form> </html>
源代码下载地址: github(保存在login分支里面)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多