Laravel未生成会话.在身份验证成功后使用元标记重定向


Laravel not generating session. Redirects with meta tags just after auth success

嘿,伙计们,我很困惑,因为我的项目不能在某些机器上运行。

我有一个UserController,它负责调用Auth::attempt()进行登录,成功登录后,它应该重定向到管理页面。

但在某些机器上,它会重定向(在auth::attemp()成功后)到管理页面,但根本没有创建元标记和会话!然后再次返回登录页面(通过过滤器)。

我已经检查了两次(甚至查看了文件),但在重定向之前没有人发送标头。

这种情况发生在少数机器上,而不是全部。

public function adminLogin()
{
    if (Auth::attempt(array('email' => Input::get( 'email' ),'password' => Input::get('password'))) && Auth::user()->power == 1)
        {
            return Redirect::intended('admin');
        }
    else
        {
            Auth::logout();
            return Redirect::to('login')->withErrors( 'Entered details are invalid or You may not have Admin Power' );
        }
}

这是我在UserController.php上负责登录的函数。还有一件事,如果我在登录页面上输入了错误的登录详细信息。然后它又说重定向。。到消息,但显示错误。所以需要注意的是,会话正在工作,因为我仍然通过收到错误消息

@if (Session::has('errors'))
    $("#output").addClass("alert alert-danger animated fadeInUp").html('{{ $errors->all()[0]   }}'); 
@endif

当输入错误的登录详细信息时,这会显示错误。所以我想有一些会话处理。特定主机可能有问题?

您应该检查storage目录(及其子目录,尤其是sessions)是否有足够的权限。在某些web主机上,您可能需要将它们设置为0755,甚至0777,具体取决于web主机配置。

除了storage目录设置有正确的文件读/写/执行权限(chmod)之外。您还需要确保它可由使用chown的Web服务器写入。如果您使用的是apache,请确保apache用户和组拥有存储目录以及所有子目录和文件。

chown -R apache:apache storage

如果在打开flash之前有空行('message,'My error message'),就会发生这种情况;在我的网页中。

检查以下页面:https://laracasts.com/discuss/channels/laravel/laravel-suddenly-displays-redirecting-page

我知道OP说他们对此进行了检查,但这可能会帮助其他人。