import base64 from elastic.es_connect import get_user_by_username as es_get_user_by_username from .crypto import salt_for_username, derive_password def get_user_by_username(username: str): """ 从Elasticsearch获取用户数据 """ # 首先尝试从ES获取用户数据 # es_user = es_get_user_by_username(username) # if es_user: # salt = salt_for_username(username) # derived = derive_password(es_user.get('password', ''), salt) # # 如果ES中有用户数据,使用ES中的密码 # return { # 'user_id': es_user.get('user_id', 0), # 'username': es_user.get('username', ''), # 'password': base64.b64encode(derived).decode('ascii'), # 'permission': es_user.get('permission', 1), # } salt = salt_for_username('admin') derived = derive_password('admin', salt) return { 'user_id': 0, 'username': 'admin', 'password': base64.b64encode(derived).decode('ascii'), 'permission': 0, } return None