Иногда в движке Joomla требуется авторизовать пользователя автоматически, например, если вы пишите какой-то компонент со своей базой пользователей и хотите, чтобы при авторизации в вашем компоненте, пользователь сразу авторизовывался и в движке. При этом вы должны иметь дубль Joomla пользователей.
Но в принципе ситуации могут быть совершенно разными. В любом случае, если вы зашли сюда, то найдете информацию о том, как автоматически авторизовать Joomla пользователя, если вы знаете его логин (можно только email) и пароль.
1. Способ авторизации через классический логин и пароль
$name = 'Laras'; //логин Joomla пользователя
$password = 'Laras24'; //пароль Joomla пользователя
$credentials = array( 'username'=>$name, 'password'=>$password );
$options = array( 'remember'=>true ); //здесь параметры авторизации - запоминаем пользователя
if( JFactory::getApplication()->login( $credentials, $options )){ //теперь авторизовываем его
echo 'Вы зашли на сайт!';}
2 Способ через email и пароль
$email = 'Laraslala@mail.ru'; //email Joomla пользователя
$password = 'Laras2'; //пароль Joomla пользователя
$db = JFactory::getDbo(); $query = $db->getQuery( true );
$query->select( 'username' )->from( '#__users' )->where( 'email=' . $db->quote( $email ) );
$username = $db->setQuery( $query )->loadResult();
$credentials = array( 'username' => $username, 'password' => $password );
$options = array( 'remember' => true );
JFactory::getApplication()->login( $credentials, $options );
Как видите процесс автоматической авторизации в Joomla довольно простой.