Laravel 4.2,Hash:make()不能用于Auth :: user() - > attempt()

时间:2015-05-23 15:42:26

标签: php authentication laravel hash login

我正在尝试将近24小时的Laravel Auth工作。我正在尝试一个非常简单的方法:

创建用户:

$emailActivationCode = str_random(60);
$created = User::create([
   'email' => 'raju@mydomain.com',
   'password' => \Hash::make('raju@myhome'),
   'activation_code' => $emailActivationCode,
   'protected' => 1,
   'activated' => 1
]);

我正在尝试下面的代码登录:

$user = \Auth::user()->attempt(array(
    'email'     => 'raju@mydomain.com',
    'password'  => 'raju@myhome',
    'activated' => 1
));

我的用户模型如下:

namespace App\Models;

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
use Jacopo\Authentication\Models\User as JacopoUser;
use Cartalyst\Sentry\Users\UserExistsException;
use Cartalyst\Sentry\Users\LoginRequiredException;

class User extends JacopoUser implements UserInterface
{
    use UserTrait, RemindableTrait;

    public static function boot()
    {
        static::setHasher(new \Cartalyst\Sentry\Hashing\NativeHasher);
    }

    public function fundings()
    {
        return $this->hasMany('App\Models\Funding', 'users_id');
    }

    public function projects()
    {
        return $this->hasMany('App\Models\Project', 'users_id');
    }
}

但登录总是失败。我也看不到任何错误消息,也无法登录。我试图谷歌,但大多数解决方案都提出了我已实施的内容。

任何Laravel专家都可以提出更好的解决方案或解决这个问题吗?如果你尽快回复,那将是非常好的。

修改 似乎哈希生成的哈希:make()无效/错误。我复制了以前在另一个项目中生成的哈希,它可以很好地处理上面的代码。为什么哈希生成错误?有谁知道这些案件?

1 个答案:

答案 0 :(得分:0)

这是一个潜在的问题

Auth::user()->attempt

尝试是Auth的一项功能,您不会返回用户模型然后尝试。

if (Auth::attempt(array(...))
$user = Auth::user();