>  Q&A  >  본문

PasswordHasherInterface를 자동 연결할 수 없습니다.

Fixtures 클래스에서 PasswordHasherInterface를 자동 연결하려고 합니다.

으아악

하지만 오류가 발생했습니다:

DefinitionErrorExceptionPass.php 라인 54: ! !

!!'AppDataFixturesUserFixture' 서비스를 자동 연결할 수 없습니다: 매개변수 '$hasher'

!!메서드 "__construct()"는 "SymfonyComponentPasswordH

인터페이스를 나타냅니다. !!asherPasswordHasherInterface" 그러나 그러한 서비스는 존재하지 않습니다. 서비스를 만드셨나요

!!이 인터페이스를 구현하는 클래스는 무엇입니까?

! !

내 파일 services.yaml:

으아악

Symfony 6.1에서 일반 비밀번호를 해시하는 방법은 무엇입니까? 이 오류가 발생하는 이유는 무엇입니까?

P粉154228483P粉154228483285일 전446

모든 응답(1)나는 대답할 것이다

  • P粉787820396

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

    모든 경우에 딱 맞는 것은 없습니다 PasswordHasher.

    당신:

    • 팩토리를 사용하여 특정 팩토리를 생성하세요. 예를 들어SymfonyComponentPasswordHasherHasherPasswordHasherFactoryInterface
    • 또는 전용 비밀번호 해셔 클래스를 사용합니다(예: SymfonyComponentPasswordHasherHasherUserPasswordHasherInterface 사용자*용).

    팩토리를 사용하면 코드는 다음과 같습니다. (테스트되지 않음)

    으아악

    다시 말하면 단계는 다음과 같습니다.

    1. 패키지 설치: composer require symfony/password-hasher
    2. 해셔 구성
    3. 해셔 로드 을 받으세요

    UserPasswordHasherInterface*: 수정 사항의 예는 여기

    에 있습니다. 🎜

    회신하다
    0
  • 취소회신하다