首页 > 解决方案 > Django rest_auth - 如何添加自定义密码验证规则

问题描述

有人可以解释如何更改 Django 的 rest_auth 库的默认密码验证规则吗?

我想这可以通过复制现有的序列化程序并在那里添加自定义验证来完成。(链接到 rest_auth 序列化程序文档)我可以自己深入研究,但我认为这会花费我很多时间,如果有人可以至少给我一个初学者级别的解释,那就太好了。

有些人可能会认为我什至懒得问这样的问题,但请让我们留下个人意见。我是一个相当初学者的程序员,潜入了许多不同的技术。这里和那里的一些帮助可以安全相当长的一段时间。

除此之外,我很确定会有其他人会寻找这些信息。

在我的 (React) 前端,我使用以下验证规则,并且我希望后端具有相同的规则:

密码必须至少包含: - 一个大写字母 (AZ) - 一个小写字母 (az) - 以下字符之一:!@#$&* - 一个数字 (0-9) 密码长度必须至少为 10 个字符 密码不能包含上述以外的其他字符

标签: djangodjango-rest-frameworkpasswordsdjango-rest-auth

解决方案


与此同时,我发现我可以使用 Django 的内置功能进行密码验证:

https://docs.djangoproject.com/en/dev/topics/auth/passwords/#module-django.contrib.auth.password_validation

可以使用/创建密码验证器,并在 Django 设置中指向它。这些验证器也将被 rest_auth 使用。上面指向 Django 文档的链接很好地解释了这一点。


推荐阅读