Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Formularz logowania do sfGuardPlugin
Forum PHP.pl > Forum > PHP > Frameworki
stirith
Zainstalowałem plugin sfGuardPlugin, chcę aby na stronie głównej użytkownik miał możliwość zalogowania się, dlatego też skopiowałem kod z sfGuardFormSignin.class.php i stworzyłem nową klasę LoginForm którą umieściłem w lib/form

Kod
<?php

class LoginForm extends sfForm {

  public function configure()
  {
    $this->setWidgets(array(
      'username' => new sfWidgetFormInput(),
      'password' => new sfWidgetFormInput(array('type' => 'password')),
      'remember' => new sfWidgetFormInputCheckbox(),
    ));

    $this->setValidators(array(
      'username' => new sfValidatorString(),
      'password' => new sfValidatorString(),
      'remember' => new sfValidatorBoolean(),
    ));

    $this->validatorSchema->setPostValidator(new sfGuardValidatorUser());

    $this->widgetSchema->setNameFormat('signin[%s]');
  }
}

?>


W module dodałem:

Kod
$this->loginForm = new LoginForm();


template:

Kod
<form action="<?php echo url_for('@sf_guard_signin') ?>" method="post">
  <table>
    <?php echo $loginForm ?>
  </table>

  <input type="submit" value="sign in" />
</form>


I wszystko ładnie się wyświetla jednak po wpisaniu danych wyświetla się błąd:

Kod
csrf token: CSRF attack detected.


Jaki atak wykryty, nie kumam tego...Jak rozwiązać mój problem ?

P.S -> oczywiście po wejściu bezpośrednio /login -> logowanie działa bez problemu
grn
Nie duplikuj kodu. Użyj sfGuardFormSignin, zamiast własnej klasy. U mnie działa bez zarzutu. Błąd ten oznacza, że token CSRF jest zły lub nie został wysłany.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.