相关疑难解决方法(0)

flask-login:无法理解它是如何工作的

我试图了解它是如何Flask-Login工作的.

我在他们的文档中看到他们使用预先填充的用户列表.我想玩数据库存储用户列表.

但是,我不明白这个Flask-Login模块中的一些内容.

@login_manager.user_loader
def load_user(userid):
    #print 'this is executed',userid
    return user(userid, 'asdf')
Run Code Online (Sandbox Code Playgroud)

每次请求都会调用此代码?这用于加载我的用户对象的所有细节?

现在,我有这个代码:

@app.route('/make-login')
def make_login():
    username = 'asdf'
    password = 'asdf'
    user_data = authenticate(username, password)
    user_obj = user(user_data[0], user_data[1])
    login_user(user_obj)
    return render_template('make-login.html')
Run Code Online (Sandbox Code Playgroud)

当我访问/登录时,我想登录.

我的用户类:

class user(object):
    def __init__(self, id, username, active=True):
        self.username = username
        self.id = id
        #self.active = active
    def is_authenticated(self):
        return True  

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return 5
Run Code Online (Sandbox Code Playgroud)

另外,我为验证/注册写了另外两个函数

def authenticate(username, password):

    cursor = db.cursor() …
Run Code Online (Sandbox Code Playgroud)

python mysql flask-login

66
推荐指数
4
解决办法
5万
查看次数

烧瓶安全:最小化数据库命中

在我的应用程序中,我使用了flask-security来添加身份验证和授权主题。SQLAlchemy 也用作数据提供者(使用 MySQL 作为后端)。该应用程序运行良好。

然后,我做了一些 MySQL 跟踪,日志显示在应用程序请求的每个 URL 处,flask-security 库发送两个数据库查询:

  • select ... from user where user.id = 'the user identifier'
  • select ... from role, roles_users ...

我认为这是一个性能问题,我喜欢尽量减少这些查询。我不知道是否有我缺少的配置功能。

python flask flask-login flask-security

5
推荐指数
1
解决办法
802
查看次数

标签 统计

flask-login ×2

python ×2

flask ×1

flask-security ×1

mysql ×1