Laravel 5.1.11 中的身份验证 - 它继续使用默认 'User' 模型并搜索 'users' 选项卡
Authentication in Laravel 5.1.11 - it keeps using default 'User' model and searching 'users' tab
我已经创建了一个自定义用户模型,具有自定义受保护的 $table 名称。
但是控制器中的尝试方法一直在搜索并使用默认方法('User' 模型和 'users' 选项卡)
奇怪的是,在 Laravel 5.2 中它起作用了。
也许只有我错过了一件愚蠢的事情,但为什么它在 5.1 上不起作用?
谢谢你的时间。
型号:
namespace App;
use Illuminate\Database\Eloquent\Model;
class CustomUser extends Model
{
protected $table ='myuserstab';
}
控制器:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Auth;
use App\CustomUser;
class loginController extends Controller
{
public function login(Request $request)
{
$username= $request['username'];
$password = $request['password'];
if(Auth::attempt(['username'=>$username, 'password'=>$password]))
{
doSomething...
}
else
{
doSomethingelse...
}
}
...
}
我想你想更改 config/auth.php
中的设置
return [
'driver' => 'eloquent',
// change this to App\CustomUser::class, or
'model' => App\User::class,whatever your model namespace is
// change this to 'myuserstab'
'table' => 'users',
];
值得从文档中阅读:
https://laravel.com/docs/5.1/authentication#introduction-database-considerations
5.2 支持多个身份验证提供程序,所以也许您可以同时使用它们?如果您查看 5.2 中的配置文件,您会看到以下内容:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
您可能需要考虑使用您自己的自定义模型进行身份验证的影响,因为用户模型设置为可以立即完成许多您可能需要自己解决的事情。查看文档应该为您阐明这些注意事项。
我已经创建了一个自定义用户模型,具有自定义受保护的 $table 名称。 但是控制器中的尝试方法一直在搜索并使用默认方法('User' 模型和 'users' 选项卡) 奇怪的是,在 Laravel 5.2 中它起作用了。 也许只有我错过了一件愚蠢的事情,但为什么它在 5.1 上不起作用? 谢谢你的时间。
型号:
namespace App;
use Illuminate\Database\Eloquent\Model;
class CustomUser extends Model
{
protected $table ='myuserstab';
}
控制器:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Auth;
use App\CustomUser;
class loginController extends Controller
{
public function login(Request $request)
{
$username= $request['username'];
$password = $request['password'];
if(Auth::attempt(['username'=>$username, 'password'=>$password]))
{
doSomething...
}
else
{
doSomethingelse...
}
}
...
}
我想你想更改 config/auth.php
return [
'driver' => 'eloquent',
// change this to App\CustomUser::class, or
'model' => App\User::class,whatever your model namespace is
// change this to 'myuserstab'
'table' => 'users',
];
值得从文档中阅读:
https://laravel.com/docs/5.1/authentication#introduction-database-considerations
5.2 支持多个身份验证提供程序,所以也许您可以同时使用它们?如果您查看 5.2 中的配置文件,您会看到以下内容:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
您可能需要考虑使用您自己的自定义模型进行身份验证的影响,因为用户模型设置为可以立即完成许多您可能需要自己解决的事情。查看文档应该为您阐明这些注意事项。