【发布时间】:2018-09-22 04:09:44
【问题描述】:
我已经创建了管理员登录系统,但是在 auth::attempt 上它总是返回 false 这是我的代码
$credentials= ['email' => $request->get('email'), 'password'=>$request->get('password')];
if (Auth::guard('admin')->attempt($credentials)) {
return redirect()->intended(route('admin.dashboard'));
}
在管理模型中
<?php
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Admin extends Authenticatable
{
protected $guard = 'admin';
protected $primary_key = 'admin_id';
protected $table = 'admins';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'admin_firstname', 'admin_lastname', 'email', 'admin_username', 'admin_phone', 'admin_picture', 'admin_gender', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
在 auth.php 中
'guards' => [
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
auth::attempt 失败不知道为什么它不起作用
它的日志记录但在管理中间件中发现了问题 $this->middleware('auth:admin');
我的 auth.php
'guards' => [
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
],
degault 保护设置为 web,但在仪表板控制器中我使用的是 auth:admin 请检查
【问题讨论】:
-
您是否也在 auth.php 中添加了提供程序?
-
是的,我已经添加了
-
你能更新你的auth.php文件中的问题吗
标签: laravel laravel-5 laravel-5.5 laravel-5.6