Laravel哨兵登录无法正常工作

时间:2015-09-24 11:29:10

标签: laravel sentinel

我使用Laravel 5版本的Sentinelauthentication。我跟着 this instruction

Registration运行正常。但login没有返回任何内容。

        $credentials = [
            "email"    => 'test@gmail.com',
            "password" => 'password'
        ];


        $user = Sentinel::authenticate($credentials);
        print_r($user);
        exit;

$user即使我提供了正确的电子邮件,也会返回empty密码。

(例如:数据) Users表包含以下数据

Email            Password
test@gmail.com   $2y$10$Wu2dY8zQNJPBR

任何人都指导我,如何调试此问题来修复它?或任何有用的想法。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我终于解决了这个问题。有时我们找不到小问题:)

问题是密码长度,我改变了20个字符。但sentinel在存储到db表之前加密密码。此加密长度超过20个字符。

部分密码仅存储在数据库中。这就是登录无效的原因。

我在迁移中更改了以下行

$table->string('password', 20);

$table->string('password');

所以现在密码长度应该是255个字符,这是VARCHAR的默认长度。