直接注销链接


14

我知道我可以使用以下链接显示登录/注销表单:

http://example.com/index.php?option=com_users&view=login

但是,一旦登录,此链接会将用户重定向到带有必须单击注销按钮的页面。

是否可以创建一个将直接注销当前用户的链接?

Answers:


24

以下链接用于直接注销:

http://example.com/index.php?option=com_users&task=user.logout

但是,为了避免出现错误消息Invalid Token,需要用户令牌,并且需要一些PHP魔术才能获得令牌。以下代码将显示Login指向来宾的链接,以及Logout Username指向登录用户的直接链接:

$user = JFactory::getUser();
if ($user->guest)
{
    echo '<a href="index.php?option=com_users&view=login">Login</a>';
}
else
{
    $userToken = JSession::getFormToken();
    echo '<a href="index.php?option=com_users&task=user.logout&' . $userToken . '=1">Logout '  . $user->username . '</a>.';
}

该代码可以包含在任何扩展中,也可以使用允许直接插入PHP代码的插件/模块(例如DirectPHPCustom HTML AdvancedSourcerer或类似代码)。


1
哈哈,太明显了...?对于那个很抱歉。公平地讲,我发现代码片段非常有用,并且一直在客户端网站上使用它,以便在页脚中有一个小的,非侵入式的登录链接。我只是不确定要问什么才能发布代码。
johanpw 2014年

+1非常有用!之后如何重定向到特定页面?是否有一些&additional_parameter可用于注销后允许重定向?
Gruber

嘿,谢谢你!您能否提供一些文档,对其进行更详细的说明?谢谢!
Gruber


6

作为最后的答案,Joomla有一个内置的“注销”菜单项,我认为应该添加到核心3.4 *或3.5。因此,现在您不需要任何其他插件。

注销菜单项还允许注销时重定向。

同样,如果将“登录”菜单项设置为“来宾”访问权限,并且将“退出”菜单项设置为“已注册”访问权限,则菜单会根据您的状态而改变。

详细的SE答案在此处:将 “登录”更改为“注销”


对于使用最新版本的Joomla的网站,这可能是最好的方法,因为它仅使用Joomla核心功能。但是,如果您确实需要以编程方式创建注销链接,则“可接受的答案”是一个很好的解决方案。
feculededentier '16

4

作为第三个选项,有一个快速注销组件,该组件在Joomla中添加了直接注销菜单项,并且无需确认即可注销用户。

它还提供了注销后将重定向设置为所需页面的选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.