【问题标题】:After switch to mongoDB auth::attempt does not work anymore切换到 mongoDB auth::attempt 后不再起作用
【发布时间】:2015-04-26 10:02:48
【问题描述】:

我最近使用 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。

【问题讨论】:

  • 您确定输入是否正确传递。只是为了检查,硬编码这些值,看看它是否有效。

标签: mongodb authentication laravel hash laravel-4


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 2013-02-27
    • 2018-02-18
    • 2014-12-17
    • 1970-01-01
    • 2016-07-19
    • 2017-03-31
    • 2016-05-17
    • 2017-01-06
    相关资源
    最近更新 更多