Laravel密码检查更改

时间:2014-02-02 08:57:10

标签: php laravel laravel-4

在Laravel 4中我有以下条件来查看用户是否正确插入了他当前的密码,如果是,则执行某些操作。

以下是代码:

if(Auth::user()->password==Hash::make(Input::get('old_password')) )
           {
               echo 'done';
           }

但它不符合条件。为什么呢?

2 个答案:

答案 0 :(得分:21)

因为哈希的一部分是永远不会相同的盐。您需要使用Hash::check方法,而不知道该怎么做。所以......

if (Hash::check(Input::get('old_password'), Auth::user()->password)) { 
    echo 'done';
}

答案 1 :(得分:2)

如果您的最终目标是确保用户是他/她所说的人,那么

Auth :: validate也是一种选择。

$credentials = ['email' => Auth::user()->email, 'password' => Input::get('old_password')];

if (Auth::validate($credentials)) {
    echo "Successful";
}