PasswordStrength
Дата обновления перевода 2024-07-25
PasswordStrength
Валидирует, что заданный пароль достиг минимальной надёжности, требуемой ограничением. Надёжность пароля не оценивается с помощью набора заранее определённых правил (включение числа, использование строчных и заглавных букв и т.д.), а путём измерения энтропии пароля на основе его длины и количества использованных уникальных символов.
??????????? ? | ???????? ??? ?????? |
????? | PasswordStrength |
????????? | PasswordStrengthValidator |
Базовое применение
Следующее ограничение гарантирует, что свойство rawPassword
класса User
достигнет
минимальной надёжности, требуемой ограничением. По умолчанию минимально требуемая
оценка равна 2
.
1 2 3 4 5 6 7 8 9 10
// src/Entity/User.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class User
{
#[Assert\PasswordStrength]
protected $rawPassword;
}
Доступные опции
minScore
тип: integer
по умолчанию: PasswordStrength::STRENGTH_MEDIUM
(2
)
Минимальная требуемая надёжность пароля. Доступны такие константы:
PasswordStrength::STRENGTH_WEAK
=1
PasswordStrength::STRENGTH_MEDIUM
=2
PasswordStrength::STRENGTH_STRONG
=3
PasswordStrength::STRENGTH_VERY_STRONG
=4
PasswordStrength::STRENGTH_VERY_WEAK
доступна, но используется только внутренне или
же пользовательским оценщиком надёжности пароля.
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/User.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class User
{
#[Assert\PasswordStrength([
'minScore' => PasswordStrength::STRENGTH_VERY_STRONG, // Требуется очень надёжный пароль
])]
protected $rawPassword;
}
message
тип: string
по умолчанию: Надёжность пароля слишком низкая. Пожалуйста, используйте более надёжный пароль.
Сообщение по умолчанию, отображаемое, если пароль не достигает минимальной требуемой оценки.
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/User.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class User
{
#[Assert\PasswordStrength([
'message' => 'Le mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort.'
])]
protected $rawPassword;
}