相关疑难解决方法(0)

Auth :: user()返回null

我使用Laravel 5.2并且遇到中间件问题.routes.php中有代码


    use Illuminate\Contracts\Auth\Access\Gate;


    Route::group(['middleware' => 'web'], function () {

        Route::auth();

        Route::get('/', 'HomeController@index');
    });


    Route::group(['prefix'=>'admin',  'middleware' => 'admin'], function(){
        Route::get('/', function(){
            return view('admin.index');
        });
        Route::get('/user', function(){
            return view('admin.user');
        });
    });

Kernel.php:


    protected $routeMiddleware = [
    ...
     'admin' => \App\Http\Middleware\AdminPanel::class,
    ];

AdminPanel.php


    namespace App\Http\Middleware;


    use Closure;
    use Illuminate\Support\Facades\Auth;
    use App\Role;

    class AdminPanel
    {
        public function handle($request, Closure $next)
        {
            $user = Auth::user();
            dd($user);

            if($user){
                $role = Role::whereName('admin')->first();
                if($user->hasRole($role)){
                    return $next($request);
                }
            }
            return redirect('/');
        }

所以,

$user = …
Run Code Online (Sandbox Code Playgroud)

php authentication middleware laravel-5

18
推荐指数
2
解决办法
2万
查看次数

在Laravel 5.2中,auth() - > user()为null

我只是将作曲家更新为Laravel 5.2并且无法查看受密码保护的页面.基本上下面的代码行不起作用.

auth()->user() 
Run Code Online (Sandbox Code Playgroud)

有人可以建议为什么这不起作用?

php laravel laravel-5.1 laravel-5.2

5
推荐指数
3
解决办法
9346
查看次数