2015-01-21 2 views
1

심포니 2.6을 사용하여 웹 사이트를 개발하는 동안 "이상한"문제가 발생했습니다. 사용자 및 관리자 엔티티에 대한 bcrypt 등록시 비밀번호 암호화를 포함하여 모든 보안 관련 항목을 이미 설정했습니다. 이제 로그인 엔진이 잘 작동하는지 확인하려면 관리자와 사용자를 추가하고 싶지만 보안 엔진 때문에 내 웹 사이트에 새 사용자/관리자를 등록 할 수 없습니다 (즉, addUser 페이지에 액세스 할 수 없습니다. 관리자 등록). 필자는 phpMyAdmin 콘솔에서 직접 관리자를 만들려고했으나 admin 암호를 입력하면 암호가 저장되어있는 엔진의 등록 단계와는 달리 일반 텍스트로 저장되므로 로그인에 실패합니다.symfony에서 bcrypt 암호 암호화를 사용하여 관리자를 추가하는 방법은 무엇입니까?

그럼 어떻게이 문제를 해결할 수 있습니까?

여러분 모두가 이것을 이해하기를 바랍니다. 그렇지 않으면 자유롭게 물어보십시오! 사전에

감사합니다, Panc

답변

3

좋아, 그래서 나는이 위대한 WEEL 설명 tutorial을 간단하게 발견하는 방법을 "자동 생성"단순히 다음을 수행 "로드"라는 방법 거기있는 교리의 설비, 사용하여 사용자 :

public function load(ObjectManager $manager) 
{ 
    $user = new User(); 
    $user->setUsername("someuser"); 
    $user->setSalt(md5(uniqid())); 
    $encoder = $this->container->get('security.encoder_factory')->getEncoder($user); 
    $user->setPassword($encoder->encodePassword('blue', $user->getSalt())); 
    $user->setEmail("[email protected]"); 

    $manager->persist($user); 

    $manager->flush(); 
} 

또한 @acontell에게 감사드립니다. 내 솔루션이 앞으로 도움이 될지도 모릅니다. :)

2

사용 등이 one 같은 bcrypt 암호를 생성하는 웹 페이지. 암호를 생성하여 데이터베이스에 암호화하여 저장하십시오. 생성 한 사용자와 패스 (암호화되지 않은 버전)를 사용하여 로그인하십시오.

제대로 작동합니다.

+0

감사에게 감사하라! 나중에 시도해보고 성공적으로 로그인 할 수 있는지 알려 드리겠습니다. :) –

+0

@panc_fab 환영합니다 :) 문제가 해결되면 알려주세요. 답변을 수락하십시오. – acontell

1

심포니 3 배 이것에 대한 매우 유용한 명령 : security:encode-password

보안 : 인코딩-password 명령이 보안 구성에 따라 암호를 암호화한다. 이 명령은 주로 in_memory 사용자 공급자 유형에 대해 암호를 생성하고 응용 프로그램을 개발하는 동안 데이터베이스에서 암호를 변경하는 데 사용됩니다.

php ./bin/console security:encode-password --no-interaction _password_ "App\Entity\User"

------------------ ---------------------------------------------------------------------- 
    Key    Value 
------------------ ---------------------------------------------------------------------- 
    Encoder used  Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder 
    Encoded password 94H61KiSMDm60HL63z+s8AxLUTqwVv8aoKshC3X1q5A= 
    Generated salt  tyPR/b4ussonYznhJ/bgtlTKSerBznRcNEPgSNmW 
------------------ ---------------------------------------------------------------------- 
관련 문제