Problém s vytvořením administrátorského hesla

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Fera
Člen | 22
+
0
-

Zdravím, patřím mezi začátečníky s nette a narazil jsem na problém, který souvisí s vytvářením hesel.
popis problému:

Projekt mám rozdělený na administrační modul a front modul. Ve front modulu se uživatelé přihlašují z jedné „tabulky“ a v administráční části z druhé.

Nyní jsem vytvořil administrační stránkum kterou by měli v budoucnu spravovat tak dva nebo tři lidi, takže jsem jim chtěl zrovna vytvořit účty v admineru, současně s hesly. Z důvodu bezpečnosti používám authenticator ze se sandboxu, kde se počítá hash. Po vložení hesla přes adminer a následné kontrole authenticatorem ovšem dostávám odpověd, že heslo je špatné. Přesto vím, že jsem jej zadal správně, hádám, že to souvisí s tím hashem, jelikož po dumpnutí dostávám odlyšný otisk.

Má otázka zní: Je možné přes adminer nebo jakýmkoliv jiným jednoduchým způsobem vytvořit pár lidem i adminovi bezpečné heslo, které pak projde validací userMangeru – authentizatorem v sanboxu? a jak…

Jestli se ptám na nějakou stupiditu, tak mě prosím omluvte a nakopněte mě správným směrem. Určitě budu rád za jakékoliv nápady.

Michal Vyšinský
Člen | 608
+
0
-

A co dáváš do toho adminera? Snad ne plaintext heslo. Udělal bych si jednoduchý PHP script, který si prostě spustíš, abys zjistil hash hesla.

Fera
Člen | 22
+
0
-

nene, v admineru jsem tam dával md5…což už vím, že je také blbost…
a mohl bych se zeptat na příklad jak by takový skript vypadal?
v kryptografii moc znalý nejsem přiznávám…

studna
Člen | 181
+
0
-

Špatně je už samotné ukládání přihlašovacích údajů do více tabulek. Pokud k tomu nemáš zvláštní důvod, tak přihlašovací údaje ukládej vždy do jedné tabulky. Tuto tabulku si rozšiř o sloupeček role, podle které jednoznačně určíš, jaké má uživatel práva.

Pokud používáš UserManager ze sandboxu, tak uživatele přidáš jednoduše:
https://github.com/…ate-user.php

A v databázi mu pouze změníš roli. Na základě této role můžeš uživatele po přihlášení přesměrovat do „správného“ modulu.

Zdeno1981
Člen | 115
+
0
-

stačí nahlédnout do API co ta třída „Passwords“ u metody „authenticate“ všechno umí.
https://api.nette.org/…sswords.html jako programátor už budeš vědět jak si heslo vygenerovat.

Fera
Člen | 22
+
0
-

Toto mě už také napadlo, ale na druhou stranu jsem si říkal, jestli to má cenu si z důvodu existence 3 záznamů v tabulce administrace, vytvořit dlaší sloupec v tabulce users, kde každému normálnímu uživateli přibude zbytečně atribut navíc, kde těch uživatelů by mohlo být podstatně víc…ale tak nebavíme se o žádném fb, takže to asi tak zkusím udělat.

Ještě bych se teda zeptal, v čem nebo jak vyvolám toho userManagera na přidání těch správců, případně administrátora. Počítám, že to bude asi nějaký jednorázový skritp, takže tvořit pro to nějaký presenter a pak jej mazat bude asi špatně…

Každopádně díky za tip

Fera
Člen | 22
+
0
-

jeej, už mi to cvaklo, díky moc lidi

Mysteria
Člen | 797
+
+1
-

Pokud to nebudeš potřebovat často, tak bych asi volil jednorázovou variantu, kdy dáš tohle třeba do startup metody BasePresenteru a pak budeš mít ze všech stránek „generátor“ hesla. Nezapomeň to pak samozřejmě smazat.

dump(\Nette\Security\Passwords::hash('hesloKtereChcesProAdmina'));