在laravel5.2以后你在控制器的构造方法内都无法获取用户信息,所以就没有办法处理用户相关业务。
解决方法使用中间键来处理:
1》在app/Http/kernel.php内添加中间键
protected $routeMiddleware = [ .... 'checkAdminUser' => \App\Http\Middleware\AdminUserCheck::class,//定义的中间键 ]
2》在app/Http/Middleware内添加AdminUserCheck.php
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class AdminUserCheck { public function handle($request, Closure $next) { $group = Auth::user() dd($group )//这个就能得到用户信息 //在这里你可以处理你的业务 return $next($request); } }
3》在控制器内引入
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; class AdminBaseController extends Controller { public static $adminCache = 120; public static $adminPage = 10; /** * 引入 */ public function __construct() { $this->middleware('checkAdminUser'); } }
本文由:xiaoshu168 作者:xiaoshu发表,转载请注明来源!