繁体   English   中英

如何通过用户名对Sentinel进行身份验证?

[英]How to authenticate with Sentinel by username?

我正在使用Cartalyst的Sentinel进行PHP身份验证。 传统的身份验证方式是使用电子邮件和密码,我们可以在他们的文档中阅读:

$credentials = [
    'email'    => 'john.doe@example.com',
    'password' => 'password',
];

Sentinel::authenticate($credentials);

库提供的默认用户表是这样的:

id | email | password | permissions |last_login | first_name | created_at | updated_at

我想添加一个用户名列,并使用Sentinel通过用户名密码进行身份验证。 可能吗?

您可以在此处修改此示例

http://naomiaro.com/2015/07/08/multiple-login-attributes-with-sentinel-and-laravel/

在您的Users模型中,您必须覆盖属性$ loginNames,并将用户名添加到属性$ fillable。

use Cartalyst\Sentinel\Users\EloquentUser as SentinelUser;

class User extends SentinelUser {

    protected $fillable = [
        'email',
        'username',
        'password',
        'last_name',
        'first_name',
        'permissions',
    ];

    protected $loginNames = ['username'];

}

Sentinel::authenticate([
    'username'    => 'fake',
    'password' => 'password'
]);

暂无
暂无

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

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