带有 MD5 的 Cakephp 3 Auth 组件密码字段

Cakephp 3 Auth Component password field with MD5

我正在使用 cakephp 3 及其 auth 组件..一切正常,但我想在使用 md5 登录时匹配我的密码,而不是 cakephp 3 使用的默认哈希密码逻辑...我应该怎么做才能实现此功能..下面是我的 AppController.php 文件我到目前为止所做的..

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 进行检查 ..我该怎么做?

有人可以指导我或帮助我吗?

谢谢

好的..伙计们..最终我找到了解决方案,下面是我想出的..所以如果有人坚持或想要类似的功能,他们可以按照这个来完成这个..

转到此处 http://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-custom-password-hasher-classes 他们说要创建一个新文件,您需要遵循并创建该文件。

然后在您的 Auth 组件 中确保添加下面的行

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

这对我有用,我希望它能帮助别人..谢谢你们。