如何使用用户名登录使用哨兵在拉拉维尔


How to use username for Login using Sentinel in Laravel?

我在Laravel中使用Sentinel进行用户身份验证。

我已经按照本指南使用用户名登录,但它似乎不起作用!

我有一个测试路线来测试登录,如下所示:

Route::get('/test-login', function()
{
    Sentinel::authenticate([
        'login'    => 'nvaughan84',
        'password' => 'password',
    ]);
    //check login details
    if($user = Sentinel::check())
    {
        print_r($user);
    }
    else
    {
        echo 'Not Logged';
    }
});

我创建了一个用户模型,它扩展了SentinelUser,如下所示:

<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
use Cartalyst'Sentinel'Users'EloquentUser as SentinelUser;
class Users extends SentinelUser
{
    protected $fillable = [
    'email',
    'username',
    'password',
    'last_name',
    'first_name',
    'permissions',
];
protected $loginNames = ['username'];

}

我已经更新了我的哨兵配置:

'users' => [
    'model' => 'App'Users',
],

如果我将"用户名"添加到哨兵类中的$loginNames数组中,它可以工作,但不能使用扩展哨兵类的用户类。

有人可以告诉我我可能做错了什么吗?

谢谢:)

解决了。

我愚蠢地仍然有

use Cartalyst'Sentinel'Native'Facades'Sentinel;

在我的路由.php文件的顶部,所以它使用它而不是我的新 Users 类!