안녕하세요, 저는 소금 필드가없는 md5의 비밀번호로 Symfony2 및 데이터베이스 테이블로 로그인을 시도하고 있습니다. 사용자가 많아서 변경할 수 없습니다.md5 비밀번호로 symfony2 로그인
잘못된 이메일이있는 양식을 보내면 로그인이 정상적으로 작동하는 것 같습니다. 메시지에 "잘못된 자격증 명"이 바로 표시됩니다. 그러나 좋은 이메일을 보내면 "표시된 비밀번호가 잘못되었습니다."라고 표시됩니다.
은 어떤 문제가 있습니까?
namespace Mes\BackendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Security\Core\SecurityContext;
class SecurityController extends Controller
{
public function loginAction()
{
$request = $this->getRequest();
$session = $request->getSession();
// get the login error if there is one
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
} else {
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
}
return $this->render('MeBackendBundle:Security:login.html.twig', array(
// last username entered by the user
'last_username' => $session->get(SecurityContext::LAST_USERNAME),
'error' => $error,
));
}
}
?>
변경할 수 없다고 말하지 마십시오. 우리는 Drupal 사이트를 Symfony2 시스템으로 마이그레이션하여 100,000 명이 넘는 사용자를 확보했으며, 새로운 시스템에 처음 로그인 한 후 사용자를 위해 비밀번호를 강제로 업데이트하기 때문에 가능한 한 빨리 MD5를 제거 할 수있었습니다. MD5가 나쁘다. –
참. BTW, 내 [복어 암호 인코더 번들] (https://github.com/elnur/ElnurBlowfishPasswordEncoderBundle)을 확인하십시오. –
나는 진짜 비밀번호를 가지고 있지 않기 때문에. 나는 단지 MD5 해시를 가지고있다. – David