Laravel 验证:管理员不工作

Laravel 验证:管理员不工作,laravel,laravel-5,laravel-5.5,laravel-5.6,Laravel,Laravel 5,Laravel 5.5,Laravel 5.6,我已经创建了管理员登录系统,但在auth::trunt上,它总是返回false 这是我的密码 $credentials= ['email' => $request->get('email'), 'password'=>$request->get('password')]; if (Auth::guard('admin')->attempt($credentials)) { return redirect()->intended(r

我已经创建了管理员登录系统,但在auth::trunt上,它总是返回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::尝试失败不知道为什么不起作用

其日志记录,但在管理中间件中发现问题 $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 guard设置为web,但在仪表板控制器中,我使用的是auth:admin。请检查您的代码是否正常。您需要确保。您是否在注册中使用了
bcrypt()
。像这样吗

$password=bcrypt($request['password']);
'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
        'admin-api' => [
            'driver' => 'token',
            'provider' => 'admins',
        ],
    ], 
您需要在config/auth.php中进行更改 你的警卫应该是这样的

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
        'admin-api' => [
            'driver' => 'token',
            'provider' => 'admins',
        ],
    ], 
提供者应该是

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],


    ],
密码

'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
        'admins' => [
            'provider' => 'admins',
            'table' => 'password_resets',
            'expire' => 15,
        ],
    ],

这是一个相应更改您的模型和驱动程序的演示

您是否也在auth.php中添加了提供程序?是的,我已经添加了可以更新auth.php文件中的问题吗?是的,在数据库中,我看到我的密码加密了发布您的auth.php和注册控制器代码当我删除任何中间件时,它的日志记录正确,然后重定向到仪表板但当我添加auth:admin时,它将重定向到admin loginpublic函数uu construct(){$this->中间件('guest:admin',['except'=>['logout']];}插件admin login controller