Vlastní authenticator nedaří se mi implementovat do configu
- JonatanRek
- Člen | 20
https://i.imgur.com/a1xmFgC.png
https://i.imgur.com/YTZSd7y.png
https://i.imgur.com/hyN61Fl.png
dobrý den snažím se napsat vlastní authenticator pro nette aby ověřoval uživatele vůči záznamům v databazi al nedaří se mi do mohl by mi někdo pomoci ?
Editoval JonatanRek (28. 5. 2018 13:33)
- Jan Endel
- Člen | 1016
Ahoj,
na první pohled vidím dva trably:
- máš typo v názvu metody, není to authentivate ale authenticate (btw, kdybys použil šikovné IDE, třeba PHPStorm, tak by ti to podtrhnul, protože neimplementuješ správně interface)
- Na začátku
use Nette\SmartObject;
ti chybí lomítko na začátku tedyuse \Nette\SmartObject;
nebo ještě lépe ten smart object dát nahoru do use sekce:
<?php
namespace App\Auth;
use Nette\SmartObject;
class MyAuthenticator implements Nette\Security\IAuthenticator
{
use SmartObject;
//...
}
- JonatanRek
- Člen | 20
https://i.imgur.com/BvXUJCF.png
https://i.imgur.com/gfPWhYL.png
tak nějaké chybky jsem díky PHP stormu opravil ale stále nefunguje :(
- Pavel Kravčík
- Člen | 1196
@JonatanRek: Chybí Ti tam lomítko na začátku v tom implementování interface. Takovouhle chybu v namespace bys měl být schopen rozklíčovat ale sám. Pokud Ti to smysl nedává, zkus ještě profrčet základy PHP, než budeš nořit hlouběji do Nette. Ušetříš si hodně záseků. :)
- uestla
- Backer | 799
Plus tam jsou problémy s názvy tříd: https://i.imgur.com/rBNhZzP.png
Password -> Passwords
AutentiException -> AuthenticationException
Nemáš nějaký problém s editorem?
EDIT: @nightfish jsem pomalej! :-)
Editoval uestla (28. 5. 2018 15:04)
- Jan Endel
- Člen | 1016
Vidím, že by ti mohl pomoci článek o namespace. Možná ti ušetří nějaké nervy.
Plus koukej, co ti PHPStorm vysvěcuje (takový béžový podklad). Když na to najedeš myší, tak ti i napíše, co je špatně (bohužel anglicky, ale věřím, že to zvládneš).
Editoval Jan Endel (28. 5. 2018 16:30)
- JonatanRek
- Člen | 20
Jan Endel napsal(a):
Vidím, že by ti mohl pomoci článek o namespace. Možná ti ušetří nějaké nervy.
Plus koukej, co ti PHPStorm vysvěcuje (takový béžový podklad). Když na to najedeš myší, tak ti i napíše, co je špatně (bohužel anglicky, ale věřím, že to zvládneš).
To vím a s namespace problém není a PHP Stom mi jen řekne že třída je vícekrát definovaná i když v projektu ji nikde jinde nedefinuji
- JonatanRek
- Člen | 20
uestla napsal(a):
Plus tam jsou problémy s názvy tříd: https://i.imgur.com/rBNhZzP.png
Password -> Passwords
AutentiException -> AuthenticationException
Nemáš nějaký problém s editorem?
EDIT: @nightfish jsem pomalej! :-)
Díky měl jsem nějak pokažený PHP Storm díky!! odstranilo to dost problémů ale bohužel jsem se jako v kruhu vrátil k tomu že config mi nenajde mojí autentikační třídu a já nevím proč, zkoušel jsem ji i requirovat v boostrap.php ale nepomohlo nemusím někde nette říci že to má načíst protože autoload funguje jen pro vendor že ?
- Martk
- Člen | 661
JonatanRek napsal(a):
Jan Endel napsal(a):
Vidím, že by ti mohl pomoci článek o namespace. Možná ti ušetří nějaké nervy.
Plus koukej, co ti PHPStorm vysvěcuje (takový béžový podklad). Když na to najedeš myší, tak ti i napíše, co je špatně (bohužel anglicky, ale věřím, že to zvládneš).
To vím a s namespace problém není a PHP Stom mi jen řekne že třída je vícekrát definovaná i když v projektu ji nikde jinde nedefinuji
Honza nemyslel to podtržené vlnkou, ale pozadí pod např. Password, když na to najedeš, tak by ti to mělo napsat „Undefined class Password“.
Jaká je cesta od kořene k tomu souboru?