Authentizacia proti inemu systemu
- keeper7
- Člen | 8
Ahoj
Pisem si vlastny authetikator pre system Mantis a mam problem ze metoda
authenticate funguje iba z menom a heslom ale neviem ako a kde naplnit
Nette\Security\Identity ak som uz v inom systeme zalogovany.
Predpokladam ze si mam extendnut \Nette\Security\User a zaregistrovat ho do
configu ako
services:
- App\Model\MantisAuthenticator
user: App\Model\MantisUser
Dalej predpokladam ze si musim prepisat metodu isLoggedIn()
kde si musim naplnit Nette\Security\Identity
ale netusim ako do MantisUser dostat databazu z ktorej si dotiahnem data.
- Majkl578
- Moderator | 1364
metoda authenticate funguje iba z menom a heslom
To není pravda, metoda authenticate přijímá pole, které může obsahovat cokoliv.
Predpokladam ze si mam extendnut \Nette\Security\User
Proč? To rozhodně není potřeba.
Dalej predpokladam ze si musim prepisat metodu isLoggedIn() kde si musim naplnit Nette\Security\Identity
Ne, o to se stará autenticator, který vrací identitu uživatele. Pokud ti nevyhovuje výchozí Nette\Security\Identity, můžeš si napsat vlastní, stačí implementovat rozhraní Nette\Security\IIdentity. (Identitou může být klidně např. entita v Doctrine 2, což je celkem běžná situace.)