Auth在Laravel没有工作

时间:2014-12-29 07:58:16

标签: php laravel laravel-4 laravel-routing

我正在尝试此代码。我已经在数据库中保存了用户名和Hash :: make('123')。 这是我的控制器

    class EntriesController extends BaseController {

    public function getIndex()
    {
        $username = 'saqib';
        $password = '123';
        $hashPassword = Hash::make($password);

        if (Auth::attempt(array('username' => $username, 'password' => $hashPassword), true))
        {
            echo "Correct";
        }
        else
        {
            echo "Wrong";
            $queries = DB::getQueryLog();
            print_r(end($queries));
        }
    }
}

及其路线:

Route::get('/', 'EntriesController@getIndex');

3 个答案:

答案 0 :(得分:1)

密码不在哈希。

if (Auth::attempt(array('username' => $username, 'password' => $password), true))

答案 1 :(得分:0)

如果您使用Auth :: attempt(),则不需要对密码进行哈希处理。而只是做

if (Auth::attempt(array('username' => $username, 'password' => $password), true))

答案 2 :(得分:0)

请不要使用哈希密码。请找到以下代码: -

class EntriesController extends BaseController {

    public function getIndex()
    {
        $username = 'saqib';
        $password = '123';
        $hashPassword = Hash::make($password);

        if (Auth::attempt(array('username' => $username, 'password' => $password), true))
        {
            echo "Correct";
        }
        else
        {
            echo "Wrong";
            $queries = DB::getQueryLog();
            print_r(end($queries));
        }
    }
}

注意:请检查数据库表"密码"字段应该允许64个字符存储到其中。(哈希密码包含64个字符)