Python用户登录(验证账号密码)

# -*- coding:utf-8 -*-
# 将账号数据读到内存 可用list,但字典更合适
accounts = {}
f = open("account.db", "r")
for line in f:
    line= line.strip().split(",")
    accounts[line[0]] = line
print(accounts)
count = 0
while True:
    user = input("username:").strip()
    if user not in accounts:
        print("用户未注册")
        continue
    elif accounts[user][2]=="1":
        print("此账号已经锁定")
        continue
    while count<3:
        passwd = input("Password:").strip()
        if passwd == accounts[user][1]:
            print(f"{user}用户登录")
            exit()
        else:
            print("错误的密码")
        count += 1
    if count==3:
        print(f"用户名或密码错误{count}次,锁定{user}账号")
        accounts[user][2]="1"
        f2=open("account.db","w")
        for user,val in accounts.items():
            line=",".join(val)+"\n"
            f2.write(line)
        f2.close()
        exit("byebye!")

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python中的ldap3库来验证用户账号。具体步骤如下: 1. 安装ldap3库,可以使用pip命令进行安装: ```python pip install ldap3 ``` 2. 定义LDAP服务器的地址、端口和基础DN: ```python import ldap3 # 定义LDAP服务器地址、端口和基础DN server = ldap3.Server('ldap://your_ldap_server_address', port=your_ldap_server_port) base_dn = 'your_base_dn' ``` 需要将"your_ldap_server_address"和"your_ldap_server_port"替换为实际的LDAP服务器地址和端口,将"your_base_dn"替换为实际的基础DN。 3. 定义LDAP管理员的账号密码,并使用管理员账号进行连接: ```python # 定义LDAP管理员账号密码 admin_username = 'your_admin_username' admin_password = 'your_admin_password' # 使用管理员账号进行连接 conn = ldap3.Connection(server, user=admin_username, password=admin_password, auto_bind=True) ``` 需要将"your_admin_username"和"your_admin_password"替换为实际的管理员账号密码。 4. 使用LDAP管理员账号进行查询,验证用户账号密码是否正确: ```python import ldap3 # 定义LDAP服务器地址、端口和基础DN server = ldap3.Server('ldap://your_ldap_server_address', port=your_ldap_server_port) base_dn = 'your_base_dn' # 定义LDAP管理员账号密码 admin_username = 'your_admin_username' admin_password = 'your_admin_password' # 使用管理员账号进行连接 conn = ldap3.Connection(server, user=admin_username, password=admin_password, auto_bind=True) # 定义要验证用户账号密码 username = 'your_username' password = 'your_password' # 使用管理员账号进行查询,验证用户账号密码是否正确 conn.search(base_dn, '(&(objectClass=user)(sAMAccountName={}))'.format(username)) if conn.entries: user_dn = conn.entries[0].entry_dn conn = ldap3.Connection(server, user=user_dn, password=password, auto_bind=True) if conn.bind(): print('验证成功') else: print('密码错误') else: print('账号不存在') ``` 需要将"your_username"和"your_password"替换为实际的用户账号密码。 完整代码如下: ```python import ldap3 # 定义LDAP服务器地址、端口和基础DN server = ldap3.Server('ldap://your_ldap_server_address', port=your_ldap_server_port) base_dn = 'your_base_dn' # 定义LDAP管理员账号密码 admin_username = 'your_admin_username' admin_password = 'your_admin_password' # 使用管理员账号进行连接 conn = ldap3.Connection(server, user=admin_username, password=admin_password, auto_bind=True) # 定义要验证用户账号密码 username = 'your_username' password = 'your_password' # 使用管理员账号进行查询,验证用户账号密码是否正确 conn.search(base_dn, '(&(objectClass=user)(sAMAccountName={}))'.format(username)) if conn.entries: user_dn = conn.entries[0].entry_dn conn = ldap3.Connection(server, user=user_dn, password=password, auto_bind=True) if conn.bind(): print('验证成功') else: print('密码错误') else: print('账号不存在') ``` 需要将"your_ldap_server_address"、"your_ldap_server_port"、"your_base_dn"、"your_admin_username"、"your_admin_password"、"your_username"和"your_password"替换为实际的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值