{"id":358390,"date":"2026-09-02T08:00:17","date_gmt":"2026-09-02T08:00:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dalmatian-dream-login-as-user\/"},"modified":"2026-09-02T07:59:52","modified_gmt":"2026-09-02T07:59:52","slug":"dalmatian-dream-login-as-user","status":"publish","type":"plugin","link":"https:\/\/pl.wordpress.org\/plugins\/dalmatian-dream-login-as-user\/","author":15344623,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.10","stable_tag":"2.0.10","tested":"7.1","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Dalmatian Dream Login As User","header_author":"Marin Horvat","header_description":"Allows trusted administrators to securely log in as another user and return to their original administrator account.","assets_banners_color":"333333","last_updated":"2026-09-02 07:59:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dalmatiandream.com","header_author_uri":"https:\/\/horvat.info","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.10":{"tag":"2.0.10","author":"whitedd","date":"2026-09-02 07:59:52","revision":3677402}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3677506,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3677506,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3677506,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3677506,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.10"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[83,269811,602,3749,1917],"plugin_category":[38],"plugin_contributors":[275315],"plugin_business_model":[],"class_list":["post-358390","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-impersonation","plugin_tags-login","plugin_tags-user-switching","plugin_tags-users","plugin_category-authentication","plugin_contributors-whitedd","plugin_committers-whitedd"],"banners":{"banner":"https:\/\/ps.w.org\/dalmatian-dream-login-as-user\/assets\/banner-772x250.png?rev=3677506","banner_2x":"https:\/\/ps.w.org\/dalmatian-dream-login-as-user\/assets\/banner-1544x500.png?rev=3677506","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dalmatian-dream-login-as-user\/assets\/icon-128x128.png?rev=3677506","icon_2x":"https:\/\/ps.w.org\/dalmatian-dream-login-as-user\/assets\/icon-256x256.png?rev=3677506","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Dalmatian Dream Login As User adds a secure \"Login as user\" action to the WordPress Users screen for administrators with the dedicated <code>dd_switch_users<\/code> capability.<\/p>\n\n<p>The plugin uses opaque per-session switch tokens, server-side transient state, nonce-protected switch and return actions, strict target validation, safe redirects, and cleanup on logout. It blocks nested impersonation and protects multisite super administrator accounts.<\/p>\n\n<p>The plugin does not send data to external services and does not include telemetry, advertising, or remote code.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Dalmatian Dream Login As User does not transmit personal data to external services. Switch-session state is stored temporarily in the local WordPress database using transients and is removed when the session expires, the user returns to the administrator account, or the impersonated user logs out.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>dd-login-as-user<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the Plugins screen in WordPress.<\/li>\n<li>Administrators receive the <code>dd_switch_users<\/code> capability on activation.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"who%20can%20switch%20users%3F\"><h3>Who can switch users?<\/h3><\/dt>\n<dd><p>Only users with the <code>dd_switch_users<\/code> capability can start a switch session. The plugin adds that capability to the administrator role on activation.<\/p><\/dd>\n<dt id=\"can%20administrators%20impersonate%20other%20administrators%3F\"><h3>Can administrators impersonate other administrators?<\/h3><\/dt>\n<dd><p>On single-site installs, administrator-to-administrator switching is blocked by default. Developers can opt in with the <code>dd_login_as_user_allow_admin_target<\/code> filter.<\/p><\/dd>\n<dt id=\"how%20long%20does%20a%20switch%20session%20last%3F\"><h3>How long does a switch session last?<\/h3><\/dt>\n<dd><p>The default timeout is 60 minutes. It can be adjusted with the <code>DD_LOGIN_AS_USER_TIMEOUT<\/code> constant or the <code>dd_login_as_user_timeout<\/code> filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>Removed unused storage of the original administrator WordPress session token.<\/li>\n<li>Reduced temporary switch-session state to the minimum data required for secure account switching.<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Prepared plugin metadata and documentation for WordPress.org Plugin Directory review.<\/li>\n<li>Updated WordPress compatibility metadata.<\/li>\n<li>Clarified privacy and local switch-session storage behavior.<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Added the plugin languages folder.<\/li>\n<li>Documented the intentional WordPress core login hook call for compatibility.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Restored the impersonated account early from the secure switch token when the WordPress auth cookie is not accepted.<\/li>\n<li>Fired the standard WordPress login action after a successful switch.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Changed successful switch landing to the admin dashboard instead of the user profile screen.<\/li>\n<li>Prevented cached profile redirects from blocking impersonation when profile access is hidden.<\/li>\n<li>Set a persistent authentication cookie for the impersonated account.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Fixed Plugin Check internationalization and redirect sanitization findings.<\/li>\n<li>Removed discouraged manual translation loading call.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Changed successful switch redirect to the impersonated user's profile panel.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed blank page after switching to another user.<\/li>\n<li>Fixed blank page after returning to the administrator account.<\/li>\n<li>Improved safe local redirect handling after account switches.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Reworked user impersonation session security.<\/li>\n<li>Added unique switch-session tokens.<\/li>\n<li>Added secure return-to-administrator workflow.<\/li>\n<li>Added dedicated switch capability.<\/li>\n<li>Added multisite and administrator-target protections.<\/li>\n<li>Improved nonce, input sanitization and redirect handling.<\/li>\n<li>Added internationalization support.<\/li>\n<li>Removed production debug output.<\/li>\n<li>Added lightweight audit hooks.<\/li>\n<li>Improved WordPress.org \/ Plugin Check compatibility.<\/li>\n<\/ul>","raw_excerpt":"Securely allows trusted administrators to log in as another user and return to their administrator account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=358390"}],"author":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/whitedd"}],"wp:attachment":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358390"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358390"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358390"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358390"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358390"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}