繁体   English   中英

我在不同的地方编写了两个user_loader代码,但是flask_login中只有第一个可以工作?

[英]I code two user_loader on different place but only first one works in flask_login?

当我使用user / login.py时,我在admin / login.py中的第一个user_loader和在user / login.py中的第二个user_loader但在admin / login中的user_loader被调用了; 这样的错误: 在此处输入图片描述

也许其他地方发生了一些问题,但是is_authenticated的值是True。我猜我以错误的方式使用了user_load。 救命! 提前致谢。

我在flask中使用了2个LoginManagers,一个用作用户,另一个用作administrater,但是我发现只有一个可以使用,因此我重写login_required引用了此anwser

我的用户模型是这样的。

class User(UserMixin):
def __init__(self, username, role):
    self.username = username
    self.id = self.get_id()
    self.urole = role

@property
def password(self):
    raise AttributeError('password is not a readable attribute')

@password.setter
def password(self, password):
    self.password_hash = generate_password_hash(password)
    admin_collection.insert_one({'username':self.username,'password':self.password_hash,'id':self.id})

def verify_password(self, password):
    password_hash = self.get_password_hash()
    if password_hash is None:
        return False
    return check_password_hash(password_hash, password)

def get_password_hash(self):
    pswd = admin_collection.find_one({'username':self.username})
    return pswd['password'] if pswd else None

def get_id(self):
    find_id = admin_collection.find_one({'username':self.username})
    return find_id['id']

def get_role(self):
    return self.urole

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM