Laravel登录始终返回1个用户

时间:2014-03-02 00:47:52

标签: php laravel

我使用Laravel 4和Auth :: attempt(),如下代码:

$cred = array(
                'email'     => Input::get('email'),
                'password'  => Input::get('password'),
                'active'    => 1, //user must be activated before
            );
            if (Auth::attempt($cred, false)) 
            {
                // the auth.attempt event will be fired
                return Redirect::to(URL::action('Admin@index'));
            }

它工作正常,但当我用命令

调用用户电子邮件时
Auth::user()->email;

它总是返回Users表中的第一个用户,即使我已经使用其他用户的信用登录。

例如,如果我在DB中有多个用户,那么即使我发送user2或user3的信誉,它也总是返回user1。

1 个答案:

答案 0 :(得分:0)

我可以想到两个可能导致这个问题的问题:

会话

Auth::user();

访问用户会话以获取可以从中识别模型中用户的令牌,因此刷新会话并尝试使用以下命令登录其他用户:

Session::flush();

数据库

我想去数据库以确保一切都符合逻辑预期,看一下用户表的几行,特别是ID列和电子邮件。

我不认为这应该被视为一个直接的答案,而不是在哪里寻找以及可能导致问题的原因,希望它能与你合作!

相关问题