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