PasswordStrength

Дата оновлення перекладу 2024-05-29

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, // Very strong password required
    ])]
    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;
}