Metoda authenticate() is deprecated

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

Zdravím,
jsem mírně zmaten… stáhnul jsem nejnovější stable verzi Nette, ale nefungovalo mi přihlášení. Vyhazovalo mi to hlášku authenticate() is deprecated; use login() instead.

Handler vypadá asi takhle:

class Users extends Object implements IAuthenticator
{

	public function authenticate(array $credentials)
	{

Jenomže v IAuthenticator je metoda authenticate povinná, takže co mám dělat?

wdolek
Člen | 331
+
0
-

chyba neni v IAuthenticator ale v zavolani teto metody… v presenteru se nyni vola login misto authenticate i kdyz je tato metoda v samotnem rozhrani povinna:

$user = Environment::getUser();
$user->login($form['username']->getValue(), $form['passwd']->getValue());
redhead
Člen | 1313
+
0
-

Pleteš si Authenticator s User.

Tam kde přihlašuješ uživatele, používej Environment::getUser()->login($username, $password) místo authenticate(). Obslužný handler (IAuthenticator) zůstavá stejný (s authenticate).

i.magine
Člen | 81
+
0
-

Už chápu, díky…