Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP]Szyfrowanie hasła
Forum PHP.pl > Forum > PHP > Frameworki
polkom21
Siemka. Ostatnio tak jakoś wziąłem się za ogarnięcie jakiegoś frameworku i przypadło akurat na cakephp. Po kilkunastu godzinach grzebania zaczęło mi coś wychodzić. Teraz natomiast mam problem z hashowaniem hasła. W modelu mam coś takiego:
  1. App::uses('SimplePasswordHasher', 'Controller/Component/Auth');
  2.  
  3. class User extends AppModel {
  4.  
  5. public function beforeSave($options = array()) {
  6. if (!$this->id) {
  7. $passwordHasher = new SimplePasswordHasher();
  8. $this->data['User']['password'] = $passwordHasher->hash($this->data['User']['password']);
  9. }
  10. return true;
  11. }
  12.  
  13. public $components = array(
  14. 'Auth' => array(
  15. 'authenticate' => array(
  16. 'Form' => array(
  17. 'passwordHasher' => array(
  18. 'className' => 'Simple',
  19. 'hashType' => 'sha256'
  20. )
  21. )
  22. )
  23. )
  24. );

Podpowie ktoś coś co zrobić, żeby to w końcu zaczęło działać jak należy?

EDIT:
Odkryłem, że funkcja beforeSave w ogóle jest pomijana tylko pytanie czemu :/
kleus
Funkcja jest pomijana ponieważ przy zapisie nowego wpisu do bazy danych cake nie przesyla id, bo go nie ma.
nastepna sprawa to taka ze zamiast meczyc sie z jakims wlasnym szyfrowaniem hasla mozesz uzyc domyslnej metody cake'a smile.gif
a wyglada to tak

  1. App::uses('AuthComponent', 'Controller/Component');
  2. class User extends AppModel {
  3. public function beforeSave($options = array()) {
  4. if(isset($this->data[$this->alias]['password'])) {
  5. $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
  6. }
  7.  
  8. return true;
  9. }
  10. }


Taki sposób załatawia sprawe z zapisem nowego usera, zmianą hasła usera i automatycznie działa z domyslnym logowaniem przez Auth cake smile.gif


Wystarczylo zerknąc do swiętenj dokumentacji cake smile.gif
pozdrawiam
polkom21
Coś chyba z nazwami plików pomieszałem bo w ogóle nie chodzi mi nawet validator od formularza. Na razie nie mam na to czasu. Później może jak się znajdzie chwila to pozmieniam wszystko i może zacznie działać jak należy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.