문제

I'm building an authentication system using Sentry 2. The problem I'm facing is that I'm unable to create a session for the user after he's authenticated and logged in via Sentry. This is my controller code:

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.';
    }
}

After I log in, to check if the user is actually logged in, I made another controller action which dumps the Authenticated user details:

public function index()
{
    var_dump(Auth::user());
}

var_dump() returns null. What am I missing here? I'm new to Laravel and Sentry. Any help would be appreciated! Thanks in advance!

도움이 되었습니까?

해결책

If you are going to use Sentry, you no longer use Laravels Auth. They are completely independent of one another.

Instead, you now use

$user = Sentry::getUser();

See https://cartalyst.com/manual/sentry/users/find

다른 팁

To access sentry session user use this {{Sentry::getUser()}}

Auth::user() return laravel session object.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top