Vlastny authentificator podla quickstartu
- Markuss
- Člen | 4
Ahojte snazil som si spravil prihlasenie na stranku no marne
do config.local.neon som zadal
services:
authenticator: MyAuth
signFormFactory.php v nom je kod nedotknuty snazim sa prihlasit a marne heslo som vygeneroval cez : http://bcrypthashgenerator.apphb.com a vlozil som meno a heslo do databazy a nejde to prihlasit exception vyhodi : The username or password you entered is incorrect. tento exception sa nachadza v signFormFactory
a tu je kod
<?php
namespace App\Presenters;
use Nette;
use Nette\Security as NS;
class MyAuth extends Nette\Object implements NS\IAuthenticator
{
public $database;
function __construct(Nette\Database\Context $database)
{
$this->database = $database;
}
function authenticate(array $credentials)
{
list($username, $password) = $credentials;
$row = $this->database->table('users')
->where('username', $username)->fetch();
if (!$row) {
throw new NS\AuthenticationException('User not found.');
}
if (!NS\Passwords::verify($password, $row->password)) {
throw new NS\AuthenticationException('Invalid password.');
}
return new NS\Identity($row->id, array('username' => $row->username));
}
}
?>
dakujem za pomoc :)
- David Matějka
- Moderator | 6445
mas dostatecne velky sloupecek pro heslo v databazi? neorizlo to ten hash?
- Markuss
- Člen | 4
ano to som kontroloval to mam dobre predtym ako som sem napisal som hladat vsade mozne kde maju podobny problem aj tu na fore no nasiel som problem len s tym ze bud niekto to zabudol zahashovat alebo dal malicky stlpcek PS: ten hash je stale iny teda ak tam zadam nejake heslo napr: marek tak hash bude stale iny to je ok?
EDIT: asi bol to troska iny ten webovy generator. pretoze ked som si nechal vypisat nejake heslo cez tuto metodu Nette\Security\Passwords::hash(‚myPassword‘) tak to islo potom bez problemov :)
Editoval Markuss (22. 9. 2016 19:32)