无法登录Laravel 4中的用户

无法登录Laravel 4中的用户,laravel,laravel-4,Laravel,Laravel 4,我尝试在Laravel4中创建一个登录系统。为此,我在其中使用Auth build。首先,我还没有创建注册页面,所以我在数据库中创建了一个用户。对于密码,我使用 echo散列::生成“密码” 它给了我一个哈希值,我把它粘贴在pass字段中。现在,我想让用户登录。为此,我创建了一条路线: Route::post('/users/login/try', array('as' => 'loginTry'), function() { $user = array( 'nam

我尝试在Laravel4中创建一个登录系统。为此,我在其中使用Auth build。首先,我还没有创建注册页面,所以我在数据库中创建了一个用户。对于密码,我使用

echo散列::生成“密码”

它给了我一个哈希值,我把它粘贴在pass字段中。现在,我想让用户登录。为此,我创建了一条路线:

Route::post('/users/login/try', array('as' => 'loginTry'), function() {
    $user = array(
        'name' => Input::get('user'),
        'pass' => Hash::make(Input::get('pass'))
    );

    if(Auth::attempt($user,true)) {
        return Redirect::intended('dashboard');
    } else {
        return Redirect::to('/users/login');
    }
});
还有一个观点:

{{ Form::open(array('route' => 'loginTry')) }}
<p>{{ Form::label('user','Nazwa użytkownika') }} {{ Form::text('user') }}</p>
<p>{{ Form::label('pass','Hasło') }} {{ Form::password('pass') }}</p>
<p>{{ Form::submit('Zaloguj') }}</p>
{{ Form::close() }}

我做错了什么?

您将回调作为第三个参数。将其移动到阵列中,它就会工作

Route::post('/users/login/try', array('as' => 'loginTry', function() {
    //Your callback code here.
}));

删除Hash::make。Auth::尝试自动添加它。谢谢。但没有帮助。请查看命名路由部分。你的回调必须在数组中,而不是第三个参数。成功了!但我不能登录,我的意思是,这就像密码不匹配一样。但它应该是。您是否从“pass”中删除了Hash::make?是的。它是“pass”=>Input::立即获取“pass”。请尝试分别将name和pass重命名为username和password。如果不起作用,则转储$user和Auth::trunt$user,true。使用Laravel的dd功能进行倾倒。看看那里是否发生了意想不到的事情。另外,在Auth::trunt之后,转储Auth::check以查看它返回的内容。双重检查应用程序配置文件以建立到数据库的有效连接。其中一个应该可以解决您的问题。代码看起来有效。凭据数组的键应与列名匹配。因此,将它们作为用户名和密码保存。
Route::post('/users/login/try', array('as' => 'loginTry', function() {
    //Your callback code here.
}));