用户登陆认证

Posted jonas2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户登陆认证相关的知识,希望对你有一定的参考价值。

  1)输入用户名密码

  2)认证成功后显示欢迎信息

  3)输错三次后锁定

#!/usr/local/bin/python3
# Author: Jonas Mao

import os
import sys
import getpass
os.system(‘clear‘)                                                        #清理屏幕(可选)
user_limit = 0
while user_limit < 3:
username = input(‘请输入您的用户名:‘)
lock_file = open(‘lock_list‘,‘r+‘)
lock_file2 = lock_file.readlines()
for lock in lock_file2:
lock = lock.strip(‘\n‘)
if username == lock:
print(‘用户%s已经锁定,请联系系统管理员!‘ % username)
sys.exit(1)
user_file = open(‘user_list‘,‘r+‘).readlines()
for user in user_file:
(user,passwd) = user.strip(‘\n‘).split()     #分别获取帐号和密码信息
if username == user:
passwd_limit = 0
while passwd_limit < 3:
password = getpass.getpass(‘请输入您的密码:‘) #输入密码时不可见
if password == passwd:
print(‘欢迎用户%s登录系统!‘ %username)
sys.exit(0)
else:
if passwd_limit != 2:
print(‘用户%s的密码错误,请重新输入,还有%d次机会!‘ %(username,2-passwd_limit))
passwd_limit += 1
else:
lock_file.write(username + ‘\n‘)
lock_file.close()
sys.exit(‘用户%s已经锁定,请联系管理员!‘ % username)
else:
pass         #当用户没匹配时,跳过并继续循环
else:
if user_limit != 2:
print(‘用户%s输入错误,请重新输入,还有%d次机会!‘ %(username,2-user_limit))
else:
sys.exit(‘错误输入导致程序退出,请重新运行!‘)
user_limit += 1

以上是关于用户登陆认证的主要内容,如果未能解决你的问题,请参考以下文章

Flask中如何实现用户登陆认证?

API安全-认证

Django REST框架--认证和权限

用户登陆认证

8. InfluxDB配置admin用户认证登陆

基于Express实现Passport用户名和密码登陆认证