"""
|
用户验证
|
"""
|
|
import 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())
|