问题标签 [flask-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 烧瓶安全中注册页面上的额外字段
我正在尝试在我的 Flask 应用程序中创建一个注册页面。我正在使用 Flask-Security 进行用户管理。我已正确设置它;标准注册页面确实正确呈现。但是,我的模型包含很多额外的必填字段,因此我需要更新视图。
我的 security_config 文件如下所示:
我的表格:
当我尝试打开注册页面时,出现以下错误:
我真的不知道如何进行。我该如何解决这个问题?
python - Flask-security:注册处理呈现 user.role_id 可能不是 NULL 错误
我正在尝试在我的 Flask 应用程序中进行注册。我已经创建了两个角色(“管理员”和“用户”)和一个管理员(我),没有任何问题。但是,当我尝试通过注册页面注册新用户时,出现以下错误:
模型(标准快速入门):类 Role(db.Model, RoleMixin):name = CharField(unique=True) description = TextField(null=True)
我真的不明白这是从哪里来的。首先,您不需要为新用户分配角色,其次,由于 'role' 是外键,因此获取用户角色 id 的正确方法是user.role.id
代替user.role_id
.
python - 使用 angularjs 和烧瓶进行用户身份验证的正确方法
我目前正在使用烧瓶进行 Web 开发。我想用flask作为后端和angular.js在前端构建一个webapp。Json 部分是直截了当的,我的第一步工作得很好。但现在我被用户身份验证困住了。我读了很多书,但发现 WTFForms 与 Angular(没有 CSFR 令牌)一起工作的效果不佳,所以我不能使用像烧瓶安全这样的东西。
使用 Angular 和 Flask 实现用户身份验证的正确方法或最佳实践是什么?(也许有人知道一个很好的示例应用程序,我可以通过示例学习)
python-3.x - Flask-security 创建角色、用户并将 user_id 链接到 role_id
我将 Flask-Security 与 SQLAlchemy 一起使用
何时要添加用户或角色
在 mysql 表中添加一条记录属于我的创建和两条或树空白记录相同的想法发生在我想创建用户要将用户与角色相关联时,我有以下内容:
它在 roles_users 表中链接了错误的 user_id 和 role_id。
python-2.7 - Flask-Login: KeyError: 'security' 在尝试调用 login_user 时
我有以下代码在我的 Flask 应用程序上登录用户:
但是,当我尝试登录时,它会引发 KeyError: 'security':
我不知道发生了什么,我想我可能需要修复我的烧瓶配置,但我不知道如何。
python - (unittest) 测试 Flask-Security:无法通过登录页面
我正在尝试向我的基本应用程序添加测试。访问所有内容都需要登录。
这是我的测试用例类:
我正在运行我的测试,在终端中使用鼻子测试,如下所示:source my_env/bin/activate && nosetests --exe
像这样的基本测试失败:
从输出中,我看到这r.data
只是登录页面的 HTML,没有错误(例如,错误的用户名或密码)或警报(“请登录以访问此页面”)。
我在此setUp
过程中正在登录,因此test_authenticated_access
应该让我访问/myroute/
或重定向到登录页面,并显示闪烁的消息“请登录以访问此页面”。但它没有。
我不知道出了什么问题。我的测试基于我在 Flask 文档和这个应用程序样板中找到的那些
python - Protecting part of a page with Flask-Security
I have a web page generated by Flask that should show content depending on the status of a user.
At the moment, the relevant part of the jinja2 template looks like this:
The problem arises when someone clicks on the "log in" link - at the moment they just get redirected back to the index page and not the page that includes this template.
Is there any way to feed the <a href>
with an additional flag on the {{url_for()}}
to ensure that after log-in the user is redirected back to this page?
python - 如何覆盖 Flask-Security 默认消息?
Flask-Security为 Python Flask Web 应用程序开发消除了身份验证和授权方面的大量繁重工作。不过,我遇到了一个障碍。
在登录页面上,消息会闪烁以响应各种无效输入。示例包括: - 指定的用户不存在 - 密码无效 - 帐户被禁用
这不符合安全最佳实践。您不应向用户透露其登录尝试被拒绝的原因的详细信息。上述消息使黑客更容易识别有效用户名。
我想覆盖这些标准的 Flask-Security 消息,将它们全部替换为“无效的用户名或密码”之类的内容。但是,我还没有找到一种方便的方法来做到这一点。
这些消息存储在 site-packages/flask_security/core.py 的 _default_messages 中。我可以修改该文件,但这不是一个好的解决方案:如果我重新安装或更新 Flask-Security,它将中断。
我知道我可以自定义 Flask-Security 的默认视图。但是视图包含有用的代码,例如
隐藏登录表单的实现细节。我不想丢弃所有有用的代码并重写其中的大部分只是为了更改一些消息。
有谁知道自定义 Flask-Security 登录消息的更好方法?
python - 启用 CSRF 的网站上的 Flask-Social
我正在尝试在支持常规登录(通过 Flask-Security)和 OAuth 登录(通过 Flask-Social)的 Flask 中实现登录/注册视图。
我的网站使用 CSRF 保护,但是当我实现到 OAuth 登录页面的链接时(根据 Flask-Social示例项目),我收到了 CSRF 错误。这是模板:
问题似乎是第二个form
没有 CSRF 字段;我该怎么办?
python - flask-security encrypt_password('mypassword') varies every time when i reload the page
I've already configured SECURITY_PASSWORD_SALT
and use "bcrypt". But every time i reload the page print encrypt_password('mypassword')
will print different values, so i can't verify user input password via verify_password(form.password.data, user.password)
.
But I can login from flask-security built-in login view
Here is code to demonstrate the strange behavior of encrypt_password
: