Auth 登录 Auth::attempt () 成功 ,Auth::check () 为 false
第一次接触laravel 的Auth登录认证, 分前台用户(user表)和后台用户(admin表),后台用户登录是默认的,登录注册没有问题,前台用户登录弄了一天了始终有问题,
auth.php的配置
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'session',
'provider' => 'api',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
],
'api' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],
'api' => [
'provider' => 'api',
'table' => 'password_resets',
'expire' => 60,
],
],
用户登录代码
//判断用户名是否存在
$user = User::where('phone', '=', $phone)->first();
if (empty($user))
{
return response()->json(['msg'=>'用户不存在','code'=>100]);
}else{
if($user['status'] != 1)
{
return response()->json(['msg'=>'当前用户已禁用']);
}
//登录操作
$r = Auth::guard('api')->attempt(['user_name' => $phone,'password'=>$phone],true);
var_dump($r);
var_dump(Auth::check());exit;
登录是成功的,但是Auth::check()是false
有没有大佬能点拨一下,谢谢了。
推荐文章: