Skip to content

How to check if the user is logged in

Gamempire edited this page Aug 20, 2012 · 18 revisions

Task

Check if the user is logged in (ie: user identity widget)

Solution

There are three ways.

View

ZfcUser provides a View Helper (zfcUserIdentity) which you can use from any view script in your application. Just add the following call to the location in your markup where you want the form to be rendered:

<?php echo $this->zfcUserIdentity(); ?>

You can also get user's fields, like email:

<?php echo $this->zfcUserIdentity()->getEmail(); ?>

The view helper may also return the Authentication Service :

<?php $authService = $this->zfcUserIdentity()->getAuthService(); ?>

Controller

<?php echo $this->zfcUserAuthentication()->getIdentity(); ?>

via Service Manager

$sm = $app->getServiceManager();
$auth = $sm->get('zfcuser_auth_service');
echo $auth->hasIdentity();
echo $auth->getIdentity()->getEmail();