Php 如何强制Joomla更新用户会话

Php 如何强制Joomla更新用户会话,php,joomla,acl,Php,Joomla,Acl,我正在PayPal回调中更新给定用户的ACL。我通过直接更新#uu用户u用户组u映射表来实现这一点。现在,我需要使用新信息更新用户会话,而无需注销和再次登录 根据这些答案,我尝试了以下方法: $user = JFactory::getUser(); $session = JFactory::getSession(); $session->set('user', new JUser($user->id)); 然而,这对我来说不起作用,从它看来朱瑟已经被弃用了 有人能给我指出正确的方向

我正在PayPal回调中更新给定用户的ACL。我通过直接更新#uu用户u用户组u映射表来实现这一点。现在,我需要使用新信息更新用户会话,而无需注销和再次登录

根据这些答案,我尝试了以下方法:

$user = JFactory::getUser();
$session = JFactory::getSession();
$session->set('user', new JUser($user->id));
然而,这对我来说不起作用,从它看来朱瑟已经被弃用了


有人能给我指出正确的方向吗?

我意识到对方的答案实际上是可行的

$user = JFactory::getUser();
$session = JFactory::getSession();
$session->set('user', new JUser($user->id));

在我的例子中,它不会更新用户会话的原因是,这段代码是在PayPal的回调中调用的,PayPal没有保存用户会话。

我意识到另一个用户的答案实际上会起作用

$user = JFactory::getUser();
$session = JFactory::getSession();
$session->set('user', new JUser($user->id));

在我的情况下,它不会更新用户会话的原因是,此代码是在PayPal的回调中调用的,而PayPal不持有用户会话。

您正试图在会话中更新哪些信息?@Lodder我正在向用户添加一个额外的用户组。您正试图在会话中更新哪些信息会话?@Lodder我正在向用户添加一个额外的用户组。此功能应该集成在一些订阅组件中,因为它非常方便。谢谢分享。别忘了提交到for Stackexchange;)这似乎对我有用。会话中包含新组。但是,它似乎没有刷新主菜单。新的组访问权限提供给您的项目只有在您注销并重新登录或再次运行该代码后才会显示。此功能应集成在某些订阅组件中,因为它非常方便。谢谢分享。别忘了提交到for Stackexchange;)这似乎对我有用。会话中包含新组。但是,它似乎没有刷新主菜单。新的组访问权限提供给您的项目只有在您注销并重新登录,或者在第二次以上运行该代码时才会显示。