登录管理员时,登录页面会刷新

时间:2018-02-25 01:05:44

标签: php laravel laravel-5

我想将管理员用户重定向到dasheboard但管理员登录页面总是刷新,我设置了管理员表并运行了迁移,我添加了一个带有tinkle命令的管理员

AdminLoginController.php

<?php

       namespace App\Http\Controllers\Admin;

  use App\Http\Controllers\Controller;
   use Illuminate\Foundation\Auth\AuthenticatesUsers;
   use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Auth;
    use App\Admin;




            class  AdminLoginController extends Controller
              {

          public function login(Request $request){

              $this->validate($request,[

       'email'=>'required|email',
       'password'=>'required|min:6'
   ]);
      if ((Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password])) ){

        return redirect()->intended('Admin.dasheboard');
    }
          return redirect()->back();

       }

public function show(){
return view(' Admin.admin-login');
     }
}

我的路线:

Route::prefix('admin')->group(function(){
   Route::get('/', 'Admin\AdminController@show');
    Route::get('/login', 'Admin\AdminLoginController@show');
     Route::post('/login', 'Admin\AdminLoginController@login');
      });

Auth.php

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

     'users' => [
         'driver' => 'database',
         'table' => 'users',
     ], 
    'admins' => [
         'driver' => 'database',
         'table' => 'admins',
     ],
],

对于刀片页面,它有:

   <form action="/admin/login" method="post">

1 个答案:

答案 0 :(得分:0)

您有多个问题。

  1. intended()函数取一个url而不是路由名称

    使用return redirect()->intended('/');

    而不是return redirect()->intended('Admin.dasheboard');

  2. 如果您想使用路线名称,您必须在 routes.php

    中命名路线名称
    Route::get('/', 'Admin\AdminController@show')->name('Admin.dasheboard');
    

    然后将此代码用于 AdminLoginController.php

    if ((Auth::guard('admins')->attempt(['email' => $request->email, 'password' => $request->password])) ){
        return redirect()->route('Admin.dasheboard');
    }
    
  3. 您可以找到有关named routes

    的更多信息

    <强>更新

    1. 您的管理员警卫称admins auth.php 文件

      所以你必须使用(s)charcted added。{/ p>

    2. 来调用Auth::guard('admins')