数据库实例:mysql与mongo结合用户登录
- 加入mongodb后登录逻辑如下图,将图中nosql的位置换为mongodb即可
- 用户数据存储的集合名称为py_users,文档格式为{'uname':'用户名','upwd':'密码'}
- 将原来MySQL操作的代码封装到一个方法中,代码如下
def mysql_login(): #mongodb中没有则到mysql中查询sql='select upwd from py_users whereuname=%s'params=[uname] try:
conn= connect(host='localhost',port=3306,database='python',user='root',password='mysql',charset='utf8')
cur=conn.cursor()
cur.execute(sql,params)
result=cur.fetchone()
cur.close() if result==None: print '用户名错误,登录失败,数据来源于mysql' else: #当查询到用户及对应的密码时,将数据加入到mongodb中,以供后续登录使用db.py_users.insert_one({'uname':uname,'upwd':upwd_sha1}) #判断密码是否正确 if result[0]==upwd_sha1: print '登录成功,数据来源于mysql' else: print '密码错误,登录失败,数据来源于mysql' except Exception,e: print '登录失败,错误原因:%s' % e finally:
conn.close()
- 创建user_mongodb.py文件,代码如下
#coding=utf-8
from MySQLdb import*
from hashlib importsha1
from pymongo import*
if __name__=='__main__': try: #接收输入用户名、密码uname=raw_input('请输入用户名:')
upwd=raw_input('请输入密码:')
#对密码加密s1=sha1()
s1.update(upwd)
upwd_sha1=s1.hexdigest()
#根据用户名查询密码
#先到mongodb上查,没有再到mysql上查client=MongoClient('localhost',27017)
db=client.py3
result=db.py_users.find_one({'uname':uname}) if result==None:
mysql_login() else: #mongodb中找到了这个用户名的数据 if result['upwd']==upwd_sha1: print '登录成功,数据来源于mongodb' else: print '密码错误,登录失败,数据来源于mongodb' exceptException,e: print '登录失败,错误原因:%s'%e
数据库实例:mysql与mongo结合用户登录相关推荐
- 免费免安装!3s 获取云数据库,MySQL,Mongo、Redis 全都有!
是不是还在苦苦寻找Mongo安装.Redis缓存.MySQL安装教程等等.....比如看着教程下载MySQL的时候,电脑环境变量配置没有弄好,文件路径没有弄对,最后找不到初始的root用户密码和用户账 ...
- 数据库实例:mysql与redis结合用户登录
加入redis后登录逻辑如下图,将图中nosql的位置换为redis即可 用户数据存的键为用户名,值为密码 将原来MySQL操作的代码封装到一个方法中,代码如下 defmysql_login(): ...
- python 搭建登陆系统,用Python连接操作MySQL数据库,做一个简单的用户登录注册系统...
我们可以很容易地用Python实现一个用户登录系统,相信这即使是对编程新手来说也是小菜一碟. 作为Python的小萌新,今天我想记录下来的是如何实现一个连接了MySQL数据库的用户登录注册系统,它的效 ...
- mysql userstat_mysql 中记录用户登录错误日志方法小结
如何myql server 中,记录用户登录失败的次数,也是很重要的,在mysql 5.x系列中,暂时可以通过配置文件中my.ini设置的方法进行设置,小结如下: 1 general_log_file ...
- mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题
使用的mac OS 10.11 安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...
- oracle下的数据库实例、表空间、用户及其表的区分
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组O ...
- 【php增删改查实例】第十七节 - 用户登录(1)
新建一个login文件,里面存放的就是用户登录的模块. <html><head><meta charset="utf-8"><style ...
- 利用MYSQL的函数实现用户登录功能,进出都是JSON(第一版)
以HMAC密钥形式发放密钥令牌 功能如下 1:记录用户的登录的IP地址.时间 2:实现密码错误次数超限后锁定,并提示何时解锁 CREATE DEFINER=`root`@`%` FUNCTION `u ...
- java 登陆实例,2021-03-19 java案例:用户登录
需求:已知用户名和密码,请用程序实现模拟用户登录.总共三次机会,登录之后,给出相应的提示. 思路: 1.已知用户名和密码,定义两个字符串即可. 2.键盘录入要登录的用户名和密码,用Scanner实现. ...
最新文章
- [Machine Learning] 梯度下降法的三种形式BGD、SGD以及MBGD
- 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现
- 什么是__pycache__?
- Centos安装tomcat,haproxy,jdk
- TypeScript 里 tsconfig.json 文件的作用
- 福建农林大学转录系统生物学课题组30万招聘(生信分析、组培转化)
- eclipse java读取文件_在eclipse完成对Java_web项目里面资源文件的读取
- 推荐一款shell自定义提示符Sexy Solarized Bash Prompt
- 恢复触摸板功能的方法
- vs code 小霸王插件本地nes游戏加载
- CAN 接收邮箱 掩码设置
- 弗洛伊德算法原理解释(数学证明)
- 单片机属于嵌入式系统吗?嵌入式开发要学哪些课程?
- 华为服务器批量系统软件,华为云ECS批量管理工具
- 【论文-笔记】软件化雷达显示终端的设计与实现
- 官场直升机 鸿蒙笔著,担当和尚:老衲笔尖无墨水,要从空处想鸿蒙
- 纯css仿淘宝京东导航菜单栏
- tshark抓包小结
- 一分钟实现内网穿透(ngrok服务器搭建)
- C# 8.0核心技术指南
热门文章
- 动态规划:树形DP-景点中心(树的带权重心)
- 一些常用的linux命令(2)
- [LeetCode] [C++] 206 Reverse Linked List 反转单项链表
- Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)
- LeetCode题解 343.Integer Break
- 关于html标签元素的data-*属性
- 工作项跟踪管理系统需求
- 给vmware虚拟机中的ubuntu 14.04扩大磁盘分区
- Linux文件夹权限如何更改?
- 每日一题(22)——malloc与free(三)