我正在使用Sentry 2.1进行身份验证。
我的用户模型:
<?php namespace App\Models;
use Eloquent;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends \Cartalyst\Sentry\Users\Eloquent\User implements UserInterface, RemindableInterface {
/* Sentry Defaults omitted for brevity */
public function children()
{
return $this->hasMany('App\Models\Children');
}
public function getFullNameAttribute()
{
return trim($this->attributes['first_name'] . ' ' . $this->attributes['last_name']);
}
}
我的登录功能:
$credentials = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
if (Auth::attempt($credentials))
{
$user = Sentry::authenticate($credentials, $remember);
return Redirect::to('/');
}
我之所以使用Auth :: attempt然后使用Sentry :: authenticate是因为我从旧数据库迁移到新数据库,所以我在auth.attempt上附加了一个钩子/监听器,以便我可以处理检查旧密码。
现在,在我登录后,我无法访问full_name访问者属性。
$user = Sentry::getUser();
echo $user->full_name; // results in NULL
我想我在这里错过了一件小事,但我找不到那件丢失的东西。
感谢您的帮助!
答案 0 :(得分:4)
你编辑了Sentry的配置(dir:/app/config/packages/cartalyst/sentry/config.php“)??
这
'model' => 'Cartalyst\Sentry\Users\Eloquent\User',
到
'model' => 'App\Models\User',