在Laravel 4.2中,Hash:make()不能与Auth::user()->attempt()一起工作


Laravel 4.2, Hash:make() does not work with Auth::user()->attempt()

我只是想花将近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
));

我的User模型如下:

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大师建议一个更好的解决方案或围绕这个问题的工作?如果您能尽快回复,那就太好了。

编辑:

似乎由hash:make()生成的哈希是无效的/错误的。我复制了以前在另一个项目中生成的散列,它的工作原理与上面的代码相当好。为什么生成的哈希是错误的?有人知道这些案例吗?

这里有一个潜在的问题

Auth::user()->attempt

尝试是Auth上的函数,你不返回用户模型然后尝试。

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