Laravel 5 与哨兵使用“用户名”登录/注册


Laravel 5 with Sentinel using 'username' to login/register

我关注了其他帖子/教程- 制作了一个新模型 - 将其放入应用程序/模型(我创建了此文件夹)/用户.php

use Cartalyst'Sentinel'Users'EloquentUser as CartalystUser;
class User extends CartalystUser {
    protected $fillable = [
        'email',
        'username', /* i added this */
        'password',
        'last_name',
        'first_name',
        'permissions',
    ];
protected $loginNames = ['username'];
    }

Vendor/cartalyst/sentinel/src/config/config.php

我将用户更改为

'users' => [
    'model' => 'App'Models'User',
],

而且由于我使用的是 laravel 5.2 - 我需要运行

php artisan config:cache

据 https://stackoverflow.com/a/35614373

然后在路线上我尝试测试它

Route::get('register_new', function() {
$user = Sentinel::register(array('username' => 'abcd', 'password' => '1234'));
});

当我尝试运行它时收到错误

无效参数异常

未传递 [登录] 凭据

我把它改回数组("电子邮件"=>.....); 它奏效了。

任何帮助都值得赞赏:)

我终于明白了

而不是更改其中的配置

Vendor/cartalyst/sentinel/src/config/config.php

我在里面改变了它

config/cartalyst.sentinel.php