Administrator
2022-10-21 892b50e242e3c59a738b92dfdfee1bf1ff8932f2
authority.py
@@ -2,25 +2,39 @@
用户验证
"""
import mongo_data
import mysql_data
# 新增用户
def add_user(id, account, pwd, rule):
    _dict = {"_id": id, "account": account, "pwd": pwd, "rule": rule}
    mongo_data.save_one("clients", _dict)
    mysqldb = mysql_data.Mysqldb()
    result = mysqldb.select_one("select * from clients where _id={}".format(id))
    if result is None:
        mysqldb.execute(
            "insert into clients(_id,account,pwd,rule) values({},'{}','{}','{}')".format(id, account, pwd, rule))
    else:
        mysqldb.execute("update clients set account='{}', pwd='{}', rule='{}' where _id={}".format(account, pwd, rule,id))
def add_rule(rule, authritys):
    _dict = {"_id": rule, "authritys": authritys}
    mongo_data.save_one("clients-authritys", _dict)
    mysqldb = mysql_data.Mysqldb()
    result = mysqldb.select_one("select * from clients_authritys where _id='{}'".format(rule))
    if result is None:
        mysqldb.execute(
            "insert into clients_authritys(_id,authritys) values('{}','{}')".format(id, authritys))
    else:
        mysqldb.execute(
            "update clients_authritys set authritys='{}' where _id={}".format(authritys.replace("\"", "\\" + "\""),
                                                                              rule))
def _get_client_ids_by_rule(rule):
    results = mongo_data.find("clients", {"rule": rule})
    mysqldb = mysql_data.Mysqldb()
    results = mysqldb.select_all("select * from clients where rule='{}'".format(rule))
    _ids = []
    for result in results:
        _ids.append(result["_id"])
        _ids.append(result[0])
    return _ids
@@ -31,15 +45,16 @@
# 登录,返回用户ID与权限
def login(account, pwd):
    results = mongo_data.find("clients", {"account": account})
    if mongo_data.count("clients", {"account": account}) == 0:
    mysqldb = mysql_data.Mysqldb()
    results = mysqldb.select_all("select * from clients where account='{}'".format(account))
    if len(results) <= 0:
        raise Exception("账号不存在")
    result = results[0]
    if result["pwd"] != pwd:
    if result[2] != pwd:
        raise Exception("密码错误")
    results = mongo_data.find("clients-authritys", {"_id": result["rule"]})
    return result["_id"], results[0]["authritys"]
    results_ = mysqldb.select_one("select * from clients_authritys where _id='{}'".format(result[3]))
    return result[0], results_[1]
if __name__ == '__main__':
@@ -49,15 +64,17 @@
    # add_rule("uploader", ["code_upload"])
    #
    #
    # add_user(1, "super", "123456", "super")
    #add_user(10, "super1", "123456", "super")
    # add_user(2, "client1", "123456", "client-l2")
    # add_user(3, "client2", "123456", "client-l2")
    # add_user(4, "client3", "123456", "client-l2")
    # add_user(5, "client2", "123456", "client-industry")
    # add_user(6, "admin", "123456", "uploader")
    get_l2_clients()
    try:
        print(login("client1", "12345"))
        print(login("client1", "1234567"))
    except Exception as e:
        print()
        print(str(e))
    print(get_l2_clients())