创建model层名称为 Admin.php 内容为
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Cartalyst\Sentinel\Users\EloquentUser; use Illuminate\Foundation\Auth\User as Authenticatable; class Admin extends Authenticatable { // }
命令运行 php artisan make:auth
在app/Http/Kernel.php 中 删除
\App\Http\Middleware\TrustProxies::class,在 api组中注释掉 'throttle:60,1'
在 $routeMiddleware组中添加 'admin'=> \App\Http\Middleware\Admin::class,
在app/config中的auth.php中 添加
guards 组中添加
'admin'=>[ 'driver'=>'session', 'provider'=>'admin', ],
providers 组中添加
'admin'=>[ 'driver'=>'eloquent', 'model' => App\Models\Admin::class, ],在app/Http/Middleware中 新建 Admin.php 内容为<?php namespace App\Http\Middleware; use Illuminate\Support\Facades\Auth; use Closure; class Admin { public function handle($request, Closure $next) { if (Auth::guard('admin')->check()) { // The user is logged in... return $next($request); }else{ return redirect('Admin/Login'); } } }控制器内容为
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; class LoginController extends Controller { public function postLogin(Request $request) { $name = $request->get('name'); // 用户名 $password = $request->get('password'); if (empty($name) && empty($password)) return back()->with(['msg'=>'用户名和密码不能为空!']); $arr = [ 'name' => $name, 'password' => $password ]; if (Auth::guard('admin')->attempt($arr)){ return redirect()->action('后台首页地址'); }else{ return redirect('登录地址')->with(['msg'=>'用户名或密码不正确!']); } } }