直接ログアウトリンク


14

次のリンクでログイン/ログアウトフォームを表示できることを知っています。

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

ただし、ログインすると、このリンクは、クリックする必要のあるログアウトボタンのあるページにユーザーをリダイレクトします。

現在のユーザーを直接ログアウトするリンクを作成することはできますか?

回答:


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
ハハ、明白すぎる...?ごめんなさい ただし、公平を期すために、コードスニペットは非常に便利であり、クライアントWebサイトで常に使用して、フッターに小さくて邪魔にならないログインリンクを作成します。コードを投稿するために何を尋ねればいいのかわからなかった。
johanpw

+1非常に便利!その後、特定のページにリダイレクトするにはどうすればよいですか?&additional_parameterログアウト後にリダイレクトを許可するために使用できるものはありますか?
グルーバー

どうもありがとうございます!これについてもう少し詳しく説明されているドキュメントを提供できますか?ありがとうございました!
グルーバー


6

最後の答えとして、Joomlaにはコアに追加された組み込みの「ログアウト」メニュー項目があり、約3.4 *または3.5と思われます。そのため、追加のプラグインは必要ありません。

ログアウトメニュー項目では、ログアウト時のリダイレクトも可能です。

また、ログインメニュー項目を「ゲスト」アクセスに設定し、ログアウトメニュー項目を「登録済み」アクセスに設定した場合、メニューはステータスに応じて変わります。

SEの詳細な回答: ログインをログアウトに変更


これはおそらく、Joomlaのコア機能のみを使用するため、Joomlaの最新バージョンを使用するWebサイトにとって最適なアプローチです。ただし、プログラムでログアウトリンクを作成する必要がある場合は、「承認済みの回答」が適切なソリューションです。
feculededentier

4

3番目のオプションとして、Joomlaに直接ログアウトメニュー項目を追加し、確認なしでユーザーをログアウトするクイックログアウトコンポーネントがあります。

また、ログアウト後に目的のページへのリダイレクトを設定するオプションも提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.