切换到mongoDB后,auth :: attempt不再起作用

时间:2015-02-24 16:51:40

标签: mongodb authentication laravel hash laravel-4

我最近使用jenssegers / laravel-mongodb软件包将我的Laravel 4项目切换到了mongoDB系统。

种子和迁移很好,但Auth :: attempt函数现在总是返回false。这之前工作得很好。

这就是种子中属性的样子:

'password' => Hash::make ( 'password' ),

这是通过Auth :: attempt:

比较数据的方式
        $userdata = array(
                'email'     =>Input::get('email'),
                'password'  => Input::get('password'),
        );
        $loginResult = Auth::attempt($userdata, $post_remember);

我插入了

use Jenssegers\Mongodb\Model as Eloquent;

在所有型号,种子,迁移和控制器中。

但是auth.attempt总是返回false。

1 个答案:

答案 0 :(得分:1)

由于您使用的是Laravel 4,因此您可以通过实施" UserInterface"来解决此问题。在您的用户模型中。

use Illuminate\Auth\UserInterface;
use Jenssegers\Mongodb\Model as Eloquent;

然后:

class User extends Eloquent implements UserInterface

{
}

对于Laravel 5:

use Illuminate\Auth\Authenticatable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Jenssegers\Mongodb\Model as Eloquent;

class User extends Eloquent implements AuthenticatableContract
{

    use Authenticatable;
}