针对自己的数据库表的Joomla自定义身份验证插件

时间:2015-01-21 11:36:03

标签: authentication plugins joomla access-rights

我创建了一个自定义身份验证插件,允许我使用自己的用户表登录Joomla。因此,此时,对系统的身份验证正在运行,并且将创建用户对象。可以使用$ user = JFactory :: getUser();。

查看注销前的所有信息

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

我需要做些什么才能让它发挥作用?缺少什么,或者我错了什么?

1 个答案:

答案 0 :(得分:0)

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

因为它是外部用户身份验证,所以没有user_usergroup映射。

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

如果注销,将删除user_usergroup_map表中的条目。