duanji1043 2015-11-05 12:50
浏览 131

将参数从Middleware传递到Controller

I have a middleware which does a query and I would like to pass the result back to my controller. Is it possible? I'm using Laravel 5.

public function handle($request, Closure $next)
    {
        if ($this->auth->guest()) {
            if ($request->ajax()) {
                return view('errors.401');
            } else {
                return redirect()->guest('auth/login');
            }
        }

        $cur_route = Request::segment(1);

        $result = DB::table('t_user_acl_masters')->join('t_function_details', 't_function_details.functiondtl_id', '=' ,'t_user_acl_masters.functiondtl_id')
                                                ->where('t_function_details.routename', '=', $cur_route)
                                                ->where('t_user_acl_masters.user_id', '=', $request->user()->user_id)
                                                ->select('t_user_acl_masters.viewaccess','t_user_acl_masters.addaccess','t_user_acl_masters.editaccess','t_user_acl_masters.deleteaccess')
                                                ->first();

        if(!empty($result)) {
            if ($result->viewaccess != 'y') {
                return view('errors.401');
            }
        }

        return $next($request, $result);
    }

Controller:

public function __construct(Request $request)
    {
        parent::__construct();
        $this->middleware('auth');
        $this->user = Auth::user();
        $this->acl = $request->attributes->get('acl');
    }

public function index(Request $request){
        dd($this->acl);
}

I have injected it in to the attributes of request, but I can't get it from my function. If I dd($request->attributes->get('acl')) in my index() function, data is available.

  • 写回答

1条回答 默认 最新

  • dongmei1911 2015-11-05 13:11
    关注

    You can store the variable in the session:

    Session::flash('result', $result);
    

    Then you can retrieve it in your controller like so:

    Session::get('result');
    
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)