所以我调查了这个问题,但在 Joomla 论坛中似乎没有解决方案。
我遇到的问题已缩小到 URL。如果在 URL 中设置了 var &ID=
,则可以,如果没有,则注销。在这两种情况下,我都在进行$_SESSION
转储,它确认 $user->id 设置为 0。不知道它为什么要注销。
欢迎任何解决方案,这是一个已经避免了一段时间的问题。
仅仅利用 joomla 的能力来设置具有访问级别的菜单项不是更好吗?只需将级别设置为“已注册”即可。否则,如果您正在寻找自定义编程解决方案,请进入控制器检查用户是否已登录,然后添加一行以验证 ID 是否在 URL 中。
一件事是,您可能看起来正在注销,但实际上并未被注销。因此,如果您输入的网址应该只对登录用户可见,您仍然可以看到它。在您的会话转储中,还设置您被分配到的用户组。他们包括客人吗?如果是这样,这可能是问题的根源;这是该平台最近修复的主题。
解决方案。我只能肯定地说这是可能的解决方案,但它应该对查看这篇文章的人有所帮助。
Joomla 1.5.x 中的旧版模板 (1.0) 与 JUtility 方法 getToken() 之间存在兼容性问题。
这显然用于登录表单。所以在文件中找到它并替换:
<input type="hidden" name="<?php echo JUtility::getToken(); ?>" value="1" />
和:
<input type="hidden" name="<?php echo JHTML::_( 'form.token' ); ?>" value="1" />
这不是我看到的问题,我的问题与登录有关,而是与注册组件有关,该组件大量使用了 JUtility::getToken() Class::method。我知道这是因为卸载组件可以解决问题。但是,由于我没有在组件中测试过任何解决方案,所以我不会绝对说这是解决方案。
希望帖子有所帮助。
感谢那些回答的人。