[英]authenticate email and password from custom guard using attempt in laravel
这是我的控制器,它拥有api功能:
public function loginsub(Request $request)
{
$credentials = $request->only('email', 'password');
if(Auth::guard('sub_users')->attempt($credentials))
{
$user = Auth::guard('sub_users');
}
}
来自auth.php
配置的警卫和提供者:我编辑了帖子并添加了提供者部分
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
'sub_users' => [
'driver' => 'passport',
'provider' => 'sub_users'
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'sub_users' => [
'driver' => 'eloquent',
'model' => App\sub_users::class,
],
],
我收到此错误:
“message”:“方法尝试不存在。”,“status_code”:500
我正在尝试使用子用户模型登录:
<?php
namespace App;
use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class sub_users extends Authenticatable
{
use HasApiTokens, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password','type','login_ip',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
我也尝试过check()
而不是尝试,但事先感谢它没有工作
public function loginsub(Request $ request){$ credentials = $ request-> only('email','password');
if(Auth::guard('users')->attempt($credentials))
{
$user = Auth::guard('users');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.