Komentáře k článku
Nette Framework: Přihlašování uživatelů

Pomalu žádná webová aplikace se neobejde bez mechanismu přihlašování uživatelů a ověřování uživatelských oprávnění. Pojďme se podívat, jak tyto úlohy řeší Nette Framework.
Pomalu žádná webová aplikace se neobejde bez mechanismu přihlašování uživatelů a ověřování uživatelských oprávnění. Pojďme se podívat, jak tyto úlohy řeší Nette Framework.
RE: Nette Framework: Přihlašování uživatelů
mozna je lepsi nerozlisovat mezi "uzivatel neexistuje" a "chybne heslo" a schovat je pod jednu hlasku, o malinko se zvysi prah bezpecnosti. podporuje Nette i sliding expiration?
RE: Nette Framework: Přihlašování uživatelů
Je to sice pravda, ale pekně mě štve, když si nemůžu vzpomenout na své přihlašovací údaje na nějakém serveru a on mi to právě tímto způsobem neusnadní ;)
ad sliding expiration: ano, používá se.
RE: Nette Framework: Přihlašování uživatelů
mne to stve taky :) ale stejne jsem radsi za tuhle trochu "security through obscurity", byt je to casto spise o lenosti programatora s osetrovanim stavu nez bezpecnosti (specialne kdyz mi pote poslou mailem moje stare heslo ;).
kazdopadne moc pekna prace s Nette. skoda jen, ze neni cca 2004, ale uznavam, ze to o moc driv diky samotnemu PHP (resp. bastlu, co tehdy byl) neslo. na druhou stranu, kdyz uz nekdo ve 14-ti (nebo v kolika dneska juniori zacinaji) ma zacit s PHP, at je to s Nette a ne nicim jinym:).
RE: Nette Framework: Přihlašování uživatelů
Já souhlasím s Davidem, minimálně po stránce uživatelské je to noční můra, když se někam přihlašuji a píše mi to „nepodařilo se přihlásit“, zatímco já zkouším jiné kombinace hesel a přitom mám špatně samotný login. Tudy, prosím, ne :-).
RE: Nette Framework: Přihlašování uživatelů
To je fakt bezpečnější? S registračním formulářem ani ne – co když tam uživatel zkusí existující jméno? To taky budeme mlžit?
RE: Nette Framework: Přihlašování uživatelů
Z hlediska ochrany proti útokům ano, protože útočník neví, zda netrefil jméno nebo heslo.
RE: Nette Framework: Přihlašování uživatelů
Ale v případě přítomnosti registračního formuláře se to asi dozví velmi snadno…
RE: Nette Framework: Přihlašování uživatelů
Jak píše v6ak, pokud trefu do loginu oznamujeme v registračním formuláři, byly již dveře pootevřeny a nějaká ochrana přihlašovacího formuláře je již zavřít nedokáže.
RE: Nette Framework: Přihlašování uživatelů
Omlouvám se, to jsem špatně pochopil – registrace je ovšem něco úplně jiného než přihlašování a kód bude vypadat taky jinak …
RE: Nette Framework: Přihlašování uživatelů
Ano, kód bude vypadat jinak. Jde o to, že: pokud registrační formulář řekne "uživatelské jméno již existuje" je to úplně to samé, jako když přihlašovací formulář řekne "špatně zadané heslo" – v obou případech s jistotou víme, že jméno existuje a je platné. (z čehož logicky plyne, že i při hlášce "přihlášení se nezdařilo" víme, že chyba musí být ve špatně zadaném hesle)
Navíc, informování uživatele lze zpracovat v presenteru, nic nám tedy nebrání v tom, aby model vracel korektní chyby, a my je v presenteru logovali a uživateli zobrazili pouze obecnou chybovou hlášku.
vymodlený příspěvek
Hele, a umi to OpenId? Ne? To je pak framwork na hownow! ;-)
Re: vymodlený příspěvek
Hmmm. Někdy platí „jaký nick, takový uživatel“. A nemyslím
slavného detektiva Nicka Cartera. Až jednou napíšete alespoň desetinu tak
promakaného a programátorsky čistého a především funkčního kódu,
přijďte se pochlubit, vy Játro.
Re: Re: vymodlený příspěvek
On to byl spíš takový ftípek pro Davida :) http://phpfashion.com/odmitam-openid
Re: Re: vymodlený příspěvek
O-ou, to se omlouvám, nepochopil jsem, ačkoli jsem Davidův článek
o OpenID četl. Ale nějak mě tady hrozně prudí všichni ti věční
rejpalové a tak jsem Vás hodil s nimi do jednoho pytle. Jak tam
bylo? ;-)
Tutorial.
Tato cast sa mi naozaj paci, pretoze je tu vysvetlena cista prax. Ziadne
terminy, poucky, rozdelenia… :)
Problem, rozdeleny na podproblemy a v zavere zhrnute do jedneho scriptu. Way
to go, z takychto materialov sa imho uci najlepsie.
Teraz si to skusim v praxi sam otestovat a cim viac takychto veci budem
robit, tym lepsie sa do toho dostanem. Casom clovek prirodzenou cestou a
skusenostami pochopi aj tie poucky a rozdelenia. :)
registrace autentizačního handleru
Tohle
// zaregistrujeme autentizační handler
$user->setAuthenticationHandler(new MyAuthenticator);
jsem hledal v tutoriálu Akrabat (http://nettephp.com/cs/tutorialy) a
nakonec zjistil, že to jde nastavit také v config.ini a je to tam. (http://nettephp.com/…tte-web-user#…).
Tak to sem píšu, kdyby nemohl najít ještě někdo jiný.
Řešení: Call to undefined method User::authenticate().
Na základě hlasování došlo k přejmenování metod!
authenticate() → login()
signOut() → logout()
isAuthenticated() → isLoggedIn()
getSignOutReason() → getLogoutReason()
$onAuthenticated → $onLoggedIn
$onSignedOut → $onLoggedOut
http://forum.nette.org/cs/4149-2010-04-13-prejmenovani-metod-user-authenticate-signout-isauthenticated-login-logout-isloggedin