このガイドでは、Discourse でユーザーになりすまして、管理者アカウントに戻る方法を説明します。これは、特定のユーザーが直面している問題をトラブルシューティングしたり、その権限を確認したりする必要がある場合に便利です。
必要なユーザーレベル: 管理者
管理者は、必要に応じて他のユーザーになりすますことを選択できます。これは、メンバーがおかしな動作をしている場合や、権限を確認する必要がある場合に役立ちます。他のユーザーになりすますことは、そのユーザーとしてログインしているかのように動作します。このドキュメントでは、管理者としてユーザーになりすます手順と、管理者アカウントに戻る方法について説明します。
ユーザーになりすます
-
サイドバーの Admin (管理者) セクションに移動し、Users (ユーザー) を選択します。
-
なりすましたいユーザーのプロフィールを見つけて選択します。
-
右上隅にある Admin (管理者) をクリックします。
-
一番下にある
Impersonate(なりすます) ボタンを選択します

ユーザーになりすますと、管理者としてログインしている状態ではなくなります。ユーザーが体験するのと同じように Discourse インターフェイスを体験します。
ユーザーになりすますことは透過的ではありません。そのユーザーのログイン履歴が作成され、操作された通知フラグがリセットされます。なりすましが実行されたことをユーザーに伝えることを検討してください。
なりすましセッションを終了する
方法 1: 頻繁に使用しない場合に適しています。
他のユーザーになりすますのをやめて管理者アカウントに戻るには、なりすましているユーザーアカウントからログアウトし、管理者として再度ログインするだけです。
プライベート/シークレットウィンドウでログインしてなりすましを行うと、メインのブラウザセッションで再ログインする必要がなくなります。シークレットウィンドウを閉じるだけで完了です!
方法 2: ユーザーになりすますことが多い場合におすすめ
impersonate_without_logout 設定が有効になっている場合、ユーザーになりすましている間、インターフェイスの上部に永続的なバナーが表示され、セッションをすぐに終了して管理者アカウントに戻るためのボタンが表示されます。

これにより、特にサポートや QA の場合、繰り返しなりすましを行うワークフローがより安全かつ効率的になります。
さらに、非公開のサイト設定である experimental_impersonation_time_limit_minutes を使用して、なりすましセッションの最大期間を定義できます (デフォルト: 15 分)。この時間制限に達すると、セッションは自動的に終了し、安全性がさらに高まります。
impersonate_without_logout の有効化
この機能を有効にする推奨される方法は、Admin → Upcoming Changes (/admin/config/upcoming-changes) 経由で、そこで全スタッフまたは特定のグループに対してオン/オフを切り替えることができます。
セルフホスト型のサイトでは、Rails コンソール経由でも有効にできます。
SiteSetting.impersonate_without_logout = true
SiteSetting.experimental_impersonation_time_limit_minutes = 15



