Blowfish密码Hasher不会在远程服务器上进行身份验证

时间:2014-08-16 04:50:52

标签: php cakephp cakephp-2.3

很抱歉提出另一个问题,但....我可以在我的本地服务器上实现BlowfishPasswordHasher身份验证但是当我在远程服务器上的相关文件夹中上传这两个文件User和Appcontroller时我无法登录?我已经使用简单哈希删除了所有旧用户名/密码,并创建了一个使用河豚哈希的用户(我检查了上传的文件,它们与我在本地服务器上的文件相同)。我只是得到错误登录,这是我的错误消息。 我确实必须上传BlowfishPasswordHasher文件,因为远程服务器没有这个。除了无效用户之外我没有任何错误,并且在用户数据库中存在使用河豚腌制的用户。

我知道如何修复此问题,因为我似乎已将所有相关文件上传到与我在PC上的cakephp相同的工作网站上。以前,简单的哈希在远程服务器上运行良好。

远程服务器上的php版本是5.4.30 mysql版本是5.5.37-cll

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

我上传的文件只是

appcontroller
class AppController extends Controller {
    public $components = array( "Email", 'Session', 'Auth');

    public function beforeFilter() {

            $this->Auth->authError = 'You cant access this page';
            $this->Auth->loginRedirect= array('controller' => 'users', 'action' => 'dashboard');
            $this->Auth->logoutRedirect= array('controller' => 'users','action' => 'login'  );
            $this->Auth->authenticate= array('Form' => array('passwordHasher' => 'Blowfish'  ));

            $this->Auth->authorize= array('Controller');
            $this->Auth->unauthorizedRedirect=  '/users/dashboard'; 
            $this->set("logged_in", $this->Auth->loggedIn());


user
App::uses('BlowfishPasswordHasher', 'Controller/Component/Auth');

class User extends AppModel {
..
public function beforeSave($options = array()) {
    if (isset($this->data[$this->alias]['password'])) {
        $passwordHasher = new BlowfishPasswordHasher();
        $this->data[$this->alias]['password'] = $passwordHasher->hash(
            $this->data[$this->alias]['password']
        );
    }
    return true;
}

0 个答案:

没有答案