我的中间件类似于Auth。它检查 URL 模式(例如:/rest/*),然后在请求中查找令牌,从数据库中检索其相应的用户。之后,我想将该用户保存在一个变量中,以便稍后可以在以下任何控制器中返回该用户。最好的办法是什么?
中间件:
public function handle($request, Closure $next)
{
$token = Input::get("token");
// get user data from database
$user = User::get_user_from_token($token);
// ?? -> How to pass $user to controller, so that ..
return $next($request);
}
在控制器中:
public function profile_save() {
// I get the user back here without querying again
$user = ???
}
我会将数据闪存到会话中。当您刷新数据时,它只会保留在那里,直到下一个请求。
在你的中间件中添加
Session::flash('user', $user);
不要忘记将其添加到中间件的顶部
use Session;
然后每当您需要访问您的用户时使用
Session::get('user');
这是参考文档的链接http://laravel.com/docs/5.0/session#flash-data http://laravel.com/docs/5.0/session#flash-data
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)