""" 用户验证 """ from db import mysql_data_delegate as mysql_data # 新增用户 def add_user(id, account, pwd, rule): 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): 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): mysqldb = mysql_data.Mysqldb() results = mysqldb.select_all("select * from clients where rule='{}'".format(rule)) _ids = [] for result in results: _ids.append(result[0]) return _ids # 获取L2的客户端 def get_l2_clients(): return _get_client_ids_by_rule("client-l2") # 登录,返回用户ID与权限 def login(account, pwd): 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[2] != pwd: raise Exception("密码错误") results_ = mysqldb.select_one("select * from clients_authritys where _id='{}'".format(result[3])) return result[0], results_[1] if __name__ == '__main__': # add_rule("super", ["l2", "limit_up", "industry", "trade_success", "trade_delegate", "code_upload"]) # add_rule("client-l2", ["l2", "limit_up", "trade_success", "trade_delegate"]) # add_rule("client-industry", ["industry"]) # add_rule("uploader", ["code_upload"]) # # #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", "1234567")) except Exception as e: print(str(e)) print(get_l2_clients())