현재 내 로그인 폼은 다음과 같이Symfony에서 로그인을 구현하기 위해 어떤 검사기가 사용되어야합니까?
class LoginForm extends BaseFormPropel
{
public function setup()
{
$this->setWidgets(array(
'login_id' => new sfWidgetFormInput(),
'pwd' => new sfWidgetFormInputPassword()
));
$this->widgetSchema->setLabels(array(
'login_id'=>'Login Id',
'pwd'=>'Password'
));
$this->widgetSchema->setNameFormat('member[%s]');
$this->setValidators(array(
'login_id' => new sfValidatorPropelChoice(array('model' => 'Member', 'column' => 'login_id', 'required' => true)),
'pwd' => new sfValidatorPropelChoice(array('model' => 'Member', 'column' => 'pwd', 'required' => true))
));
$this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
parent::setup();
}
public function getModelName()
{
return 'Member';
}
}
보이는 그러나 sfValidatorPropelChoice는 사용자가 열에 존재 값을 입력 보장하기 때문에 이것은 잘못된 구현입니다. 즉, 데이터베이스에 다음 행이 포함 된 경우,
login_id | PWD
존, 12345
피터, 67890
성공 로그인 존과 67890을 사용하는 사용자입니다. 제 질문은 문제를 해결하기 위해 어떤 검사기를 사용해야합니까?
답장을 보내 주셔서 감사합니다. 두 가지 방법 모두 효과적 일 수 있습니다. 어느 것이 더 나은지 알기는 어렵습니다. sfGuard에서 사용하는 방법을 선택해도 될까요? – bobo