繁体   English   中英

如何在Laravel中使用用户名通过Sentinel登录?

[英]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';
    }
});

我创建了一个Users模型,该模型扩展了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',

],

如果我在Sentinel类的$ loginNames数组中添加'username',则可以使用,但不能使用扩展了Sentinel类的Users类。

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

谢谢 :)

解决了。

我仍然愚蠢地

use Cartalyst\Sentinel\Native\Facades\Sentinel;

在我的routes.php文件的顶部,因此它正在使用它而不是新的Users类!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM