我正在使用 Sentry 2 构建身份验证系统。我面临的问题是,在用户通过 Sentry 进行身份验证和登录后,我无法为用户创建会话。这是我的控制器代码:
public function postLogin()
{
$credentials = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
try
{
$user = Sentry::authenticate($credentials, false);
if ($user)
{
if(Input::get('remember')=='true')
Sentry::loginAndRemember($user);
}
}
catch(\Exception $e)
{
return View::make('hello')->withErrors(array('login' => $e->getMessage()));
}
try
{
Sentry::login($user, false);
}
catch (Cartalyst\Sentry\Users\LoginRequiredException $e)
{
echo 'Login field is required.';
}
catch (Cartalyst\Sentry\Users\UserNotActivatedException $e)
{
echo 'User not activated.';
}
catch (Cartalyst\Sentry\Users\UserNotFoundException $e)
{
echo 'User not found.';
}
}
登录后,为了检查用户是否实际登录,我进行了另一个控制器操作,转储了经过身份验证的用户详细信息:
public function index()
{
var_dump(Auth::user());
}
var_dump() 返回空值。我在这里想念什么?我是 Laravel 和 Sentry 的新手。任何帮助,将不胜感激!提前致谢!