chybova hlaska pri prihlaseni uzivatele

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vosy
Člen | 532
+
0
-

Ahoja mam formular se submit fci:

public function mainFormSubmitted(Form $form)
    {
        $presenter = $form->getPresenter();

        try
        {
            $user = $presenter->getUser();
            $values = $form->getValues();

            if($values->remember)
            {
                $user->setExpiration('+30 days', FALSE);
            }

            $user->login($values->username, $values->password);
            $presenter->flashMessage('Přihlášení proběhlo úspěšně jako "'.$user->identity->jmeno.'"', 'success');
            $presenter->redirect('Dashboard:');

        }catch(NS\AuthenticationException $e)
        {
            $form->addError($e->getMessage());
        }
    }

a authenticator

use Nette\Security as NS;

class Authenticator extends Nette\Object implements NS\IAuthenticator
{
    private $admins;

    function __construct(Nette\Database\Table\Selection $admins)
    {
        $this->admins = $admins;
    }

    public function authenticate(array $opt)
    {
        list($login, $password) = $opt;
        $info = $this->admins->where('login', $login)->fetch();

        if(!$info)
        {

            throw new NS\AuthenticationException('Uživatel "'.$login.'" nebyl nalezen');
        }

problem je ze kdyz se prihlasim jako neznamy uzivatel tak se mi zobrazi cervena stranka s chybovou hlaskou Uzivatel XX nebyl nalezen.

ja bych totu chybu ocekaval uvnitr formulare a to z duvodu

}catch(NS\AuthenticationException $e)
        {
            $form->addError($e->getMessage());
        }
David Matějka
Moderator | 6445
+
0
-

cervenou strankou myslis ladenku, jo?
mas v presenteru ten use?

use Nette\Security as NS;
vosy
Člen | 532
+
0
-

ano myslim ladenku

presenter

use Nette\Application\UI\Form;
use Nette\Security as NS;

class LoginBoardPresenter extends BasePresenter
{

    public  $LoginFormFactory;

    public function inject(LoginFormFactory $LoginFormFactory)
    {
        $this->LoginFormFactory = $LoginFormFactory;
    }

    public function startup()
    {
        parent::startup();
        $this->session->start();
    }

    /* component factoriew */
    protected function createComponentSignInForm()
    {
        $form = $this->LoginFormFactory->mainForm();

        return $form;
    }
vosy
Člen | 532
+
0
-

ale v LoginFormFactory jsem to nemel

ted uz jo o

use Nette\Application\UI\Form;
use Nette\Security as NS;

class LoginFormFactory
{
    public function __construct()
    {

    }