laravel 5.1 中间件中的视图函数不起作用

Does not work view function in middleware on laravel 5.1

我有这样的中间件:

public function handle($request, Closure $next)
{
    if(Request::segment(1)=='test'){
        return $next($request);
    }else{
        Auth::logout();
        Session::flush();
       return view  ('login')->with(['flag'=>1]);
     }
}

return view ('dashboard');不显示登录页面并且
告诉我这个错误

FatalErrorException in VerifyCsrfToken.php line 101:
Call to a member function setCookie() on a non-object

Phpstorme 突出显示视图和工具提示有此消息

undefined function view more...(ctrl+f1)

当我使用这个命令时

return redirect()->guest('auth/login');

它重定向到登录页面,但我想传递标志到登录页面

尝试将 {!! csrf_field() !!} 放入您的表单中,如下所示:

...
{!! csrf_field() !!}                
<div class="form-group">                   
<label>Name</label>
...

如果您想将标志传递给登录页面。你可以试试这个:

return redirect()->guest('auth/login')->with('flag','1');

我正在寻找类似问题的解决方案。

我的意图是在用户尝试从中间件访问某些经过身份验证的 url(比如 http://localhost/my-site/admin/user/profile)时 return 登录页面视图(但不重定向到登录页面)。

以下代码片段解决了我的问题

将此添加到您的命名空间

use Illuminate\Http\Response;

并在Middleware

的handle方法中使用如下return语句

return new Response(view('user/login'));