2

我有这样的中间件:

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');不要显示登录页面并
显示此错误

VerifyCsrfToken.php 第 101 行中的 FatalErrorException:
调用非对象上的成员函数 setCookie()

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

未定义函数查看更多...(ctrl+f1)

当我使用这个命令

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

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

4

3 回答 3

1

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

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

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

将此添加到您的命名空间

use Illuminate\Http\Response;

并在中间件的handle方法中使用如下return语句

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

于 2017-09-28T10:45:06.873 回答
1

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

return redirect()->guest('auth/login')->with('flag','1');
于 2016-01-06T08:52:33.363 回答
1

尝试{!! csrf_field() !!}像这样输入您的表格:

...
{!! csrf_field() !!}                
<div class="form-group">                   
<label>Name</label>
...
于 2016-01-06T08:33:36.137 回答