ホームページ  >  に質問  >  本文

PasswordHasherInterface を自動接続できません

Fixtures クラスで PasswordHasherInterface を自動配線しようとしています:

リーリー

しかし、エラーが発生しました:

DefinitionErrorExceptionPass.php の 54 行目: ! !

!!サービス 'AppDataFixturesUserFixture' を自動接続できません: パラメーター '$hasher'

!!メソッド「__construct()」はインターフェース「SymfonyComponentPasswordH

」を参照します。 !!asherPasswordHasherInterface" ですが、そのようなサービスは存在しません。

を作成しましたか? !!このインターフェイスを実装するクラス?

! !

私のファイル services.yaml:

リーリー

Symfony 6.1 でプレーンパスワードをハッシュする方法は? このエラーが発生するのはなぜですか?

P粉154228483P粉154228483285日前444

全員に返信(1)返信します

  • P粉787820396

    P粉7878203962023-12-14 09:25:15

    汎用の PasswordHasher はありません。

    ###あなた:###

    ファクトリを使用して特定のファクトリを生成します: 例:
      Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactoryInterface
    • または、専用のパスワード ハッシュ クラスを使用します: 例: ユーザー* の
    • Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface
    • ファクトリを使用すると、コードは次のようになります: (未テスト)
    リーリー

    繰り返しますが、手順は次のとおりです:

    ソフトウェア パッケージをインストールします:
      composer require symfony/password-hasher
    1. ハッシャーの構成
    2. ロードハッシュ
    3. Loading
        UserPasswordHasherInterface
      • または
      • PasswordHasherFactoryInterface
      • (を参照) をロードし、PasswordHasher を取得します。
    4. *: 修正の
    UserPasswordHasherInterface

    の例は、ここ にあります。

    返事
    0
  • キャンセル返事