Php 将身份验证集成到现有的Laravel项目和用户数据库中
我对拉威尔是一个完全的新手,但是在遵循了很多很多的指导之后,我的项目进行得非常顺利 现在,我有一个名为Php 将身份验证集成到现有的Laravel项目和用户数据库中,php,laravel,Php,Laravel,我对拉威尔是一个完全的新手,但是在遵循了很多很多的指导之后,我的项目进行得非常顺利 现在,我有一个名为UsersTable的用户表,它将同时存储Username和Password 然而,在尝试了php-artisan-make:auth和大量的谷歌搜索之后,我发现没有明确、准确的方法来定义用于身份验证的用户表名和用户名密码字段 我在另一个为尝试此功能而创建的项目中,在名为users的表上尝试了原始电子邮件密码身份验证,它的效果非常好。我相信,既然Laravel已经提供了认证系统,既然(我相信)有
UsersTable
的用户表,它将同时存储Username
和Password
然而,在尝试了php-artisan-make:auth
和大量的谷歌搜索之后,我发现没有明确、准确的方法来定义用于身份验证的用户表名和用户名密码字段
我在另一个为尝试此功能而创建的项目中,在名为users
的表上尝试了原始电子邮件密码身份验证,它的效果非常好。我相信,既然Laravel已经提供了认证系统,既然(我相信)有办法定制,为什么还要重新发明轮子呢
提前谢谢!:D使用
php artisan make:auth
然后:
从使用用户模型的用户更改默认表的步骤
您必须导航到:config/auth.php
并做出这些改变
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\UsersTable::class, //put the right model name here or you can use database driver
],
],
要更改表格以获得雄辩的模型,您可以这样做
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class UsersTable extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'UsersTable';
}
现在
编辑laravel生成的视图,并将电子邮件输入名称更改为name=“username”
,然后扩展main.blade.php
,进行一些样式设置,我想你就可以开始了
编辑:别忘了更改验证内容Laravel基本身份验证系统不是创建您自己的身份验证方法的最快方法。。。我建议您自定义您的身份验证 例如,要使用用户名对用户进行身份验证,可以执行以下操作:
Sentinel::authenticate(array(
'username' => 'john.doe',
'password' => 'foobar',
));
对我来说,这是定制身份验证方法的最快方法,希望能对您有所帮助。谢谢!密码字段呢?我能做$password='PassWordField'吗?嗯,我真的不知道,但是试一试,顺便说一句,如果这对你有效,请在投票部分的绿色标记上打勾,以回答这个问题
Sentinel::authenticate(array(
'username' => 'john.doe',
'password' => 'foobar',
));