![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Skorzystałem z MANUALA i rejestruję użytkowników w taki sposób:
Account Controller
Registration.php
RegistrationType.php
UserType.php
User.php
Opis problemu: Użytkownicy są dodawani do BD ale nie mam funkcjonalności haszowania haseł. Prosiłbym o wskazanie, gdzie mógłbym w sposób poprawny takie haszowanie ustawiać i nakierowanie na to jak to zrobić. Do tej pory dodawałem testowo użytkowników w taki sposób:
Ten post edytował kosmos 17.08.2014, 16:06:29 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
jak wygląda metoda encodePassword (IMG:style_emoticons/default/questionmark.gif) i dlaczego w jej argumencie podałeś nazwę użytkownika? w niej powinno być coś takiego
z tej metody korzstaj wszędzie gdzie użytkownik się autoryzuje (logowanie, zmiana hasła, etc) samym salt może być nazwa użytkownika, albo jakiś randomowy ciąg znaków jak w Twoim przypadku, który będziesz trzymać w bazie |
|
|
![]()
Post
#3
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
@gorden - OP używa encodera poprawnie. A ta nazwa usera, to jest pewnie testowe hasło.
@kosmos - encoder w pliku security.yml nie jest czasem ustawiony na plain? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
@gorden
Ostatni przytoczony przeze mnie kod dotyczy testowego dodawania userów do bazy danych. Mógłbyś przytczyć jakiśdokładniejszy przykład wykorzystania encodera? @pedro84
|
|
|
![]()
Post
#5
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak dodasz usera to bazy w ten sposób, to hasło jest czyste czy haszowane?
Sam encoder powinien Ci w tym miejscu zwrócić hash. Czyściłeś cache? Ten post edytował pedro84 18.08.2014, 16:56:58 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak, jeśli dodam użytkownika w ten sposób to hasła są haszowane poprawnie (później mogę się elegancko zalogować na usera), ale jak wiadomo nie mogę tego tak zostawić (IMG:style_emoticons/default/smile.gif) Ponieważ chcę dodawać ich z formularza rejestracyjnego. Więc zapewne muszę dopisać metodę w pliku registration.php?
Pamięć cache wyczyściłem przed chwilką. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nigdzie tutaj nie widać kodu związanego z hashowaniem, więc o ile nie robi tego jakiś poboczny kod (np. jakieś zdarzenie) to nie ma powodu by oczekiwać w bazie czegoś poza czystym hasłem. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
@Crozin
nie spodziewam się po obecnym kodzie zahaszowanego hasła (IMG:style_emoticons/default/smile.gif) Chcę go zmienić aby takie haszowanie wprowadzić. W testowym wprowadzaniu userów, udało mi się to zaimplementować, ale w przypadku rejestracji poprzez formlarz mam problem. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No to musisz je najzwyczajniej w świecie dodać. Mniej-więcej coś takiego:
Kilka dobrych rad na przyszłość: - najprawdopodobniej powinieneś mieć osobny obiekt na dane z formularza rejestracyjnego na podstawie którego dopiero utworzysz obiekt użytkownika - operujesz na innych danych w obu przypadkach, - powinieneś mieć dedykowaną usługę do zarządzania użytkownikami - bezpośrednie użycie Doctrine czy hashowania hasła w kontrolerze to zły pomysł, - hasło lepiej jest hashować jakimś blowfishem niż SHA-1. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie użyję tego kodu.
Korzystam z metody createForm klasy Controller.
Nie chcę tworzyć i wywoływać osobnej metody która ponownie odwoła sie do obiketu user`a w celu zahaszowanie hasła. Poszukuję rozwiązania jak wpleść haszowanie w kod który podałem w pierwszym poście. Może to wydawać się banalne ale jestem początkujący w Symfony stąd temat w dziale o przedszkolakach (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ale co ma tworzenie forma, do obsługi jego?
Masz metodę createAction i tam dodajesz jedną linijkę, którą podał Ci kolega wyżej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 21:19 |