【发布时间】:2016-05-11 15:39:02
【问题描述】:
我使用 Laravel 5.2,但中间件有问题。 在routes.php中有代码
使用 Illuminate\Contracts\Auth\Access\Gate; Route::group(['middleware' => 'web'], function () { 路线::auth(); Route::get('/', 'HomeController@index'); }); Route::group(['prefix'=>'admin', 'middleware' => 'admin'], function(){ 路线::get('/', function(){ 返回视图('admin.index'); }); 路由::get('/user', function(){ 返回视图('admin.user'); }); });内核.php:
受保护的 $routeMiddleware = [ ... 'admin' => \App\Http\Middleware\AdminPanel::class, ];AdminPanel.php
命名空间应用\Http\中间件; 使用闭包; 使用 Illuminate\Support\Facades\Auth; 使用应用\角色; 类管理面板 { 公共函数句柄($request, Closure $next) { $user = Auth::user(); dd($用户); 如果($用户){ $role = Role::whereName('admin')->first(); if($user->hasRole($role)){ 返回 $next($request); } } 返回重定向('/'); }所以,
$user = Auth::user() 总是返回 null。
感谢您的建议!
【问题讨论】:
标签: php authentication laravel-5 middleware