laravel - 中间件与控制器或路由传值

<?php

namespace App\Http\Middleware;

use Closure;
use Session;

class CheckToken
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
Session::put( 'userinfo.id', 1);
Session::put( 'userinfo.truename', '测试');
Session::put( 'userinfo.uname', 'DJA888999');
Session::put( 'userinfo.identify', 'DJA');
Session::put( 'userinfo.gradetime', '永久');
$userinfo = Session( 'userinfo');
$uid = $userinfo[ 'id'];
if(empty($uid)){
return redirect( 'login');
}
$request->attributes->add([ 'userinfo'=>$userinfo]);
// $request->attributes->add(compact('userinfo')); //直接以把userinfo作为key其$userinfo值作为值放入$request
// $request->merge(['userinfo'=>$userinfo]); // 能使用Request::input方法获取
return $next($request);
}
}

Route::group([ 'middleware' => 'token'], function() {
Route::prefix( 'Admin')->group( function () {
Route::get( 'message', function () {
// $all_params = Request::input();
// $userinfo = $all_params['userinfo'];
$userinfo = Request::get( 'userinfo');
dd($userinfo);
return view( 'Admin.message')->with( 'userinfo',$userinfo);
});

});
});

猜你喜欢

转载自blog.csdn.net/weixin_37657720/article/details/80680158