Laravel记住我没有设置cookie

时间:2014-03-15 04:49:49

标签: php cookies laravel laravel-4 remember-me

我最近使用laravel构建了我的第一个Web应用程序,总的来说它非常棒。除了这一个问题,我已经很容易地接受了框架。我正在尝试使用框架内置的身份验证。我可以登录我的用户以获取给定的请求,但我正在尝试通过Auth::attempt()方法实现记住我的功能,并按照文档传递true作为第二个参数。Laravel Documentation

我一直在尝试这种方法好几个小时而没有任何运气。我在这个网址(https://www.youtube.com/watch?v=hYUf6u_txhk#aid=P-a-d6RlOC8)看到了一个视频,其中显示了当用户在应用程序中被记住时设置了哪个cookie,而当我尝试记住我的用户时,我的浏览器中没有设置此cookie。没有设置cookie,我的用户也没有被记住。这是我的代码。

if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')), true))
        {
            $userid = DB::table('users')->where('email', '=', $userdata['email'])->pluck('id');

            Auth::login(Auth::user());

            if (Auth::check())
            {
                echo "LOGGGEED IN WOOOOOOO";
            }
            else {
                echo "user not logged in";
            }

            return Redirect::to('/dashboard/' . $userid);
        }

重定向发生之前,这是我看到的页面 enter image description here

这是处理重定向的控制器。

class DashboardController extends BaseController
{
public function showDashboard($userid)
{
    if (Auth::viaRemember())
    {
        echo "WOOOOOOOOOOOOOOOO";

    }
    else {
        echo 'booooooo';
    }
    if (Auth::check())
    {
        echo 'YAY LOGGED IN';
    }
    else {
        echo 'BOO AGAIN';
    }
    $user = User::where('id', '=', $userid)->first();
    $subscriptions = $user->subscriptions;
    $orders = $user->orders;

    return View::make('dashboard', compact('user', 'subscriptions', 'orders'));
}
}

但是当重定向发生并加载/ dashboard / {userid}时,您可以在左上角看到我的echo语句显示用户没有被记住!
enter image description here

我在这一点上非常沮丧,因为这是我完成申请所需的最后一步,我很尴尬,laravel文件说" Laravel旨在使实施变得简单"。除了这个部分,我的所有其他应用程序都在工作,所以我很感激这个问题的所有帮助!如果您需要更多信息,请随时问我。Dashboard page

1 个答案:

答案 0 :(得分:3)

解决方案:

在数组中的app / config / session.php中,我的'driver'键的值为'file'。将此切换为'cookie'后,一切都按预期工作。