2016-09-15 3 views
0

Я использую cakephp 3 и их компонент auth .. все работает нормально, но я хочу совместить свой пароль при входе в систему с помощью md5 вместо логики логики хэширования по умолчанию, используемой cakephp 3. . Что я должен сделать, чтобы реализовать эту функцию .. здесь ниже мой AppController.php файл, что я сделал до сих пор ..Cakephp 3 Поле пароля компонента Authp с MD5

AppController.php

public function initialize() 
    { 
     parent::initialize(); 

     $this->loadComponent('RequestHandler'); 
     $this->loadComponent('Flash'); 

     $this->loadComponent('Auth', [ 
      'loginRedirect' => [ 
       'controller' => 'Users', 
       'action' => 'dashboard' 
      ], 
      'logoutRedirect' => [ 
       'controller' => 'Users', 
       'action' => 'login'     
      ], 
      'loginAction' => [ 
       'controller' => 'Users', 
       'action' => 'login' 
      ],    
      'authenticate' => [ 
       'Form' => [ 
        'userModel' => 'Users', 
        'fields' => [ 
         'username' => 'user_email', 
         'password' => 'user_password' 
        ] 
       ] 
      ], 
      'storage' => 'Session', 
      'unauthorizedRedirect' => false,    
     ]); 
    } 

как я уже упоминал выше, все я я хорошо могу войти в систему с помощью метода хэширования по умолчанию, который предоставляет cakephp 3, но я просто хочу исключить этот метод хеширования и должен проверить с помощью md5 .. как я могу это сделать?

Может ли кто-нибудь помочь мне или помочь мне, пожалуйста?

Благодаря

ответ

2

Ok .. ребята .. в конце концов я обнаружил решение и здесь ниже, что я придумал .. так что если кто-то застрял или хотите подобную функцию, они могут следовать за эту вещь, чтобы выполнить это ..

Иди сюда http://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-custom-password-hasher-classes Там они говорят, чтобы создать новый файл, который вам нужно будет выполнить и нужно создать.

Затем в Auth компонента убедитесь, что вы добавить ниже линии

'Form' => [ 
       'passwordHasher' => [ 
        'className' => 'Legacy', 
       ] 
      ] 

Это работает для меня, я надеюсь, что это поможет кому-то .. Спасибо вам, ребята.

+1

Я бы _highly_! рекомендуем [** перенести пароли **] (http://book.cakephp.org/3.0/en/controllers/components/authentication.html#changing-hashing-algorithms) на более безопасный метод хэширования! – ndm

+0

да .. на самом деле я хотел бы следовать тому же паролю хеширования, который предоставляет cakephp, который на самом деле более защищен, но я просто хотел узнать в то же время, как мы можем изменить эту функцию с помощью ** md5 ** или ** sha1 ** в этом отношении. –

Смежные вопросы