flask-security不会对新创建的密码进行哈希处理,而是在首次登录时对其进行哈希更新

问题描述

我是烧瓶安全的新手。我已经设置了then。每次我创建用户

app.config["Security_PASSWORD_SALT"] = "something"

创建很好,但是该新用户数据库中的密码未哈希。但是,当我通过 user_datastore.create_user( email=username,password=password,roles=["level 1"]) db_session.commit() 登录时,数据库中的密码将更新哈希值。

  1. 为什么登录过程会更新密码?
  2. 我是否缺少一些用于使密码在第一时间被散列的设置?

解决方法

如文档所述(在3.4.x中)-使用create_user时,它将存储您通过的所有内容!这被认为是非常糟糕的事情-您必须对它进行哈希处理(API文档中为create_user提供的示例)。

默认情况下-配置变量:SECURITY_DEPRECATED_PASSWORD_SCHEMES定义的视图为“不好”的方案-如果遇到,将在登录时自动重新哈希。当认为较旧的加密货币不足时,这允许用户数据库缓慢更新。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...