【发布时间】:2019-04-01 03:44:21
【问题描述】:
我正在尝试配置 laravel 的身份验证以适合我的数据库。
但无论我做什么,在 LoginController 中覆盖 protected $table='my_table'; 或 public function username() { return 'email_user'} 之类的属性,它都会忽略所有内容。
有谁知道如何使用不同的数据库参数 laravel 的身份验证?
这是我在 LoginController 中所做的更改:
public function username()
{
return 'email_user';
}
在用户模型中:
protected $table = "pays";
protected $primaryKey = "id_user";
public function getAuthPassword() {
return $this->password_user;
}
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name_user', 'surname_user', 'email_user', 'password_user', 'sex_user', 'birth_user', 'address_user',
'city_user', 'pc_user', 'phone_user', 'pic_user', 'status_user', 'license_user', 'urssaf_user',
'remember_token', 'created_at', 'updated_at',
];
编辑:config/auth.php:
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],
],
]; 登录控制器:
<?php
命名空间 App\Http\Controllers\Auth;
使用 App\Http\Controllers\Controller; 使用 Illuminate\Foundation\Auth\AuthenticatesUsers;
类 LoginController 扩展控制器 { /* |------------------------------------------------- ------------------------- |登录控制器 |------------------------------------------------- ------------------------- | |该控制器处理应用程序的用户身份验证和 |将它们重定向到您的主屏幕。控制器使用一个特征 |方便地为您的应用程序提供其功能。 | */
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function username()
{
return 'email_user';
}
}
【问题讨论】:
-
发布你的 config/auth.php 文件
-
请在您的问题中发布
-
您的登录控制器中有什么
-
@ShaielndraGupta 原始文件 + 公共函数 username() { return 'email_user'; }
标签: php laravel authentication overriding