Authentifikace uživatelů z neon a databáze
- jEhLa
- Člen | 70
Dobrý den,
chtěl bych vytvořit přihlášení uživatelů z databáze. Ale
v config.neon bych chtěl mít také definovaného něco jako superuser (může
jich být i víc).
V config.neon:
security:
users:
admin: password
Nevím ale jak vytvořit vlastní Authenticator, který bude mít jak přístup k db, tak k uživatelům definovaným v neonu.
Něco jako:
class MyAuthenticator extends \Nette\Object implements \Nette\Security\IAuthenticator
{
private $db;
private $superusers;
public function __construct ( array $superusers, \Nette\Database\Context $db ) {
$this->superusers = $superusers;
$this->db = $db;
}
Problém je vtom že pokud mám definováno v neonu „security:“. Již nemohu přidat novou službu authenticator: MyAuthenticator. Protože to nadává že již jeden Authenticator mám.
Jak tedy vytvořit nový authenticator, který bude mít přístup k neon uživatelům, i k db?
Za jakoukoliv radu děkuji.
- David Matějka
- Moderator | 6445
A nebude lepsi si do databaze dat sloupecek „superuser“ s hodnotou
0/1?
K nette/security/users v neonu nepristoupis, dej si to pod parameters
- jEhLa
- Člen | 70
matej21 napsal(a):
A nebude lepsi si do databaze dat sloupecek „superuser“ s hodnotou 0/1?
K nette/security/users v neonu nepristoupis, dej si to pod parameters
Právě že ne, chci mít přístup k nastavení hlavního uživatele
přímo z nastavení aplikace a né ho hledat někde v db, kde chci mít
opravdu pouze registrované uživatele.
Z parameters je brat mě už také napadlo, ale myslel jsem že by to šlo
řešit i jinak.
- David Grudl
- Nette Core | 8218
V configu je možné nastavovat role, místo hesla se tam da dvojice [password: xxxx, role: yyy].
Ale tusim to funguje az od verze 2.2.
- David Matějka
- Moderator | 6445
@David Grudl: to uz je myslim i v 2.1, ale otazka se tykala kombinace autentifikace proti databazi a soucasne proti pevne konfiguraci v neonu, takze to nic neresi :)
- David Matějka
- Moderator | 6445
Ale původní zápis by byl podle mě přece jen lepší.
Nebyl. Sekce nette v neonu je pro NetteExtension, ktere dle nej vytvari a konfiguruje sluzby. Takze kdyby to bylo v te sekci, tak by to zbytecne vytvarelo ten SimpleAuthenticator. K tomu nastaveni v sekci nette by se nechalo dostat pres vlastni compiler extension, ale to uz by bylo velke hackovani. Kdyby sis udelal vlastni compiler extension, bylo by lepsi to nastaveni hodit do prislusne konfiguracni sekce toho extension. Ale pokud uvadis konfiguraci, ktera bude pouzita pro nakonfigurovani sluzeb v neonu, je na to sekce parameters idealni
Editoval matej21 (27. 5. 2014 23:04)