it-swarm.com.de

Benutzer-ID als aktuellen Benutzer in Joomla festlegen

Ich habe eine Benutzer-ID - $uid.

Ich wollte diesen Benutzer als in das S/M in Joomla angemeldet machen.

Ich habe es versucht -

$currentUser = new JUser($uid);

$mainframe = JFactory::getApplication('site');
$credentials = array();
$credentials['username'] = $currentUser->username;
$credentials['password'] = $currentUser->password; //this is the hashed password

//perform the login action
$mainframe->login($credentials);

$newuser = JFactory::getUser(); //this doesn't get updated to the new user ($uid) details

Wie kann ich den Benutzer als aktuellen Benutzer festlegen, indem ich die UID selbst verwende?

pdate: Ich habe gerade festgestellt, dass der Benutzer mit JUser :: load () geladen werden kann.

Versuch 2-

$user = JUser::getInstance($uid);
$user->load($uid); //this should load the new user.

$newuser = JFactory::getUser(); //still i get the anonymous details here 
            //($newuser->id = 0)

Da es wp_set_current_user($uid); für wordpress user_load_by_name() in Drupal gibt, gibt es eine ähnliche Funktion für Joomla? Bitte helfen Sie. !!!

Vielen Dank!

1
jitendrapurohit

Sie können dies einfach mit einem Core-Plugin tun ...

//Will obtain user object - what the question author needed.
$user = JFactory::getUser($uid);

//Will authorize you as this user.
JPluginHelper::importPlugin('user');
$options = array();
$options['action'] = 'core.login.site';
$response->username = $user->username;
$result = $app->triggerEvent('onUserLogin', array((array)$response, $options));
2
Kunal Nigam