0

我创建了一个自定义身份验证插件,它允许我使用自己的用户表登录到 Joomla。所以此时,对系统的身份验证正在工作,并且将创建一个用户对象。使用 $user = JFactory::getUser(); 可以看到注销之前的所有信息。

我的问题是,登录后,我的菜单不会显示。看来,我的模板没有加载。如果我手动将 userid 更改为 Joomla 中的注册用户之一(仅更改 id,不会更改用户对象的其他值),将加载模板并显示菜单。

我该怎么做才能让它工作?缺少什么,或者我做错了什么?

4

1 回答 1

0

由于 Joomla 权限系统,Joomla 调用 library/joomla/access/access.phpin 中的 getAuthorisedViewLevels() 和 getGroupsByUser() 并从 user_usergroup_map 中查找组。

因为是外部用户认证,所以没有user_usergroup映射。

因此,我建立了一个工作。在登录过程中,我向我的插件添加了一个函数,该函数在 user_usergroup_map 表中设置 user_id 以供临时使用。

在注销的情况下,user_usergroup_map 表中的条目将被删除。

于 2015-01-21T18:36:01.920 回答