PHPackages                             sheadawson/silverstripe-userswitcher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. sheadawson/silverstripe-userswitcher

ActiveSilverstripe-module[Testing &amp; Quality](/categories/testing)

sheadawson/silverstripe-userswitcher
====================================

During testing, allows Admins to quickly switch to act as a different user in the system

2.0.0(8y ago)164.6k6BSD LicensePHP

Since Aug 29Pushed 7y ago5 watchersCompare

[ Source](https://github.com/sheadawson/silverstripe-userswitcher)[ Packagist](https://packagist.org/packages/sheadawson/silverstripe-userswitcher)[ RSS](/packages/sheadawson-silverstripe-userswitcher/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (2)Dependencies (1)Versions (11)Used By (0)

SilverStripe User Switcher
==========================

[](#silverstripe-user-switcher)

The module adds a small form both in the frontend to quickly login as any user in the system. The intended use is in testing environments, to assist in the testing of SilverStripe applications that would otherwise require multiple browsers open with users of various roles and permissions logged in.

User Switching is only available to ADMIN users and only when running in dev or test mode.

Screenshot
----------

[](#screenshot)

[![Screenshot](https://camo.githubusercontent.com/016ae9fe17b8866369ab713b225bfe2a3389f66c59ed1ebc66a2694166050a93/68747470733a2f2f7261772e6769746875622e636f6d2f73686561646177736f6e2f73696c7665727374726970652d7573657273776974636865722f6d61737465722f696d616765732f73637265656e73686f742e706e67)](https://camo.githubusercontent.com/016ae9fe17b8866369ab713b225bfe2a3389f66c59ed1ebc66a2694166050a93/68747470733a2f2f7261772e6769746875622e636f6d2f73686561646177736f6e2f73696c7665727374726970652d7573657273776974636865722f6d61737465722f696d616765732f73637265656e73686f742e706e67)

Requirements
------------

[](#requirements)

- SilverStripe ^4.0

Integration with Better Navigator
---------------------------------

[](#integration-with-better-navigator)

If you have installed the Better Navigator module (recommended), the userwitcher dropdown field will be placed in the Better Navigator tools container instead of the bottom of the page.

NOTE: currently you will need to copy userswitcher/templates/BetterNavigator to either your theme dir or project dir for this to work.

Disable default jQuery
----------------------

[](#disable-default-jquery)

If using this on the frontend, you can disable jQuery like so:

```
Requirements::block(THIRDPARTY_DIR . '/jquery/jquery.js');
```

Install
-------

[](#install)

```
$ composer require sheadawson/silverstripe-userswitcher

```

Once the module files are in your project, login as and ADMIN user and run ?flush=all

TODO
----

[](#todo)

Get working in SilverStripe 4 CMS. Currently only upgraded for frontend use.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~196 days

Recently: every ~84 days

Total

9

Last Release

3074d ago

Major Versions

0.1.1 → 1.0.02013-10-21

1.0.x-dev → 2.0.02017-12-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/6ca23b453a4fc5ac237ad4fcc512f68fab5c7b124f403cad1a5848b3fffb6aa2?d=identicon)[sheadawson](/maintainers/sheadawson)

---

Top Contributors

[![sheadawson](https://avatars.githubusercontent.com/u/1166136?v=4)](https://github.com/sheadawson "sheadawson (30 commits)")[![wernerkrauss](https://avatars.githubusercontent.com/u/1043925?v=4)](https://github.com/wernerkrauss "wernerkrauss (6 commits)")

---

Tags

testingsilverstripe

### Embed Badge

![Health badge](/badges/sheadawson-silverstripe-userswitcher/health.svg)

```
[![Health](https://phpackages.com/badges/sheadawson-silverstripe-userswitcher/health.svg)](https://phpackages.com/packages/sheadawson-silverstripe-userswitcher)
```

###  Alternatives

[silverstripe/frameworktest

Aids core and module developers in testing their code against a set of sample data and behaviour.

17304.6k23](/packages/silverstripe-frameworktest)[silverleague/ideannotator

Generate PHP DocBlock annotations for DataObject and DataExtension databasefields and relation methods

4768.0k43](/packages/silverleague-ideannotator)[dnadesign/silverstripe-populate

Populate your database through YAML files

25102.3k2](/packages/dnadesign-silverstripe-populate)[unclecheese/mock-dataobjects

Allows DataObjects to self-populate intelligently using fake data

183.7k](/packages/unclecheese-mock-dataobjects)[fahadyousafmahar/slash-login

Say goodbye to repetitively fill / submit login forms during development of your laravel applications. This package allows you to login as any user with just a "slash login" (/login/user\_id)

101.3k](/packages/fahadyousafmahar-slash-login)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
