"""
|
用户验证
|
"""
|
|
import mongo_data
|
|
|
# 新增用户
|
def add_user(id, account, pwd, rule):
|
_dict = {"_id": id, "account": account, "pwd": pwd, "rule": rule}
|
mongo_data.save_one("clients", _dict)
|
|
|
def add_rule(rule, authritys):
|
_dict = {"_id": rule, "authritys": authritys}
|
mongo_data.save_one("clients-authritys", _dict)
|
|
|
def _get_client_ids_by_rule(rule):
|
results = mongo_data.find("clients", {"rule": rule})
|
_ids = []
|
for result in results:
|
_ids.append(result["_id"])
|
return _ids
|
|
|
# 获取L2的客户端
|
def get_l2_clients():
|
return _get_client_ids_by_rule("client-l2")
|
|
|
# 登录,返回用户ID与权限
|
def login(account, pwd):
|
results = mongo_data.find("clients", {"account": account})
|
if mongo_data.count("clients", {"account": account}) == 0:
|
raise Exception("账号不存在")
|
result = results[0]
|
if result["pwd"] != pwd:
|
raise Exception("密码错误")
|
|
results = mongo_data.find("clients-authritys", {"_id": result["rule"]})
|
return result["_id"], results[0]["authritys"]
|
|
|
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(1, "super", "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")
|
try:
|
print(login("client1", "12345"))
|
except Exception as e:
|
print()
|
|
print(get_l2_clients())
|