PlainPerks
Back to lessons

Give each person only the access their work needs

Lesson 21 of 24

Create separate course accounts, test real permission boundaries, change one role, and remove an account while keeping its draft.

Before you start

Use the disposable Cedar Lane Garden Care practice site. The accounts and records in this chapter are fictional. Keep real users, passwords, customer details and live services out of the exercise.

1. Plan the work and recovery ownership

Open the role-plan worksheet below. Match each task to the minimum role: Administrator for site administration, Editor for review and publishing across authors, Author for their own posts, and Contributor for drafts that need review. A plugin can change capabilities, so compare this plan with the actual installed site. Complete the privileged-access register on the same full worksheet. Name the owner and recovery owner, keep unique credentials in a password manager, prepare a later two-factor exercise without changing real accounts here, and set a review/removal date. Use an Editor account for normal editorial work. Keep the only verified recovery Administrator during the exercise. The worksheet contains no credentials and grants no real access.

The editable role plan and privileged-access register use only fictional training accounts.
Full course worksheet mapping four WordPress roles to tasks, boundaries and cleanup responsibilities.

2. Review the current owner account

Sign in to the disposable site as its Administrator. Open Users → All Users. Read the role count and identify the account that owns this practice installation. Our screenshot has one synthetic Course owner and an example.test address. On a real site, reconcile each account with its owner before changing access. Keep the private access register separate from public screenshots.

3. Create the three synthetic accounts

Choose Add User. Enter cedar-editor and cedar-editor@example.test, set Role to Editor, and use a unique generated password. Use Hide so the password is masked before taking any screenshot. For this local exercise, clear Send the new user an email about their account. Click Add User. Repeat the same form for cedar-author / cedar-author@example.test / Author and cedar-contributor / cedar-contributor@example.test / Contributor, using different passwords. Keep them privately. Return to Users and read back all three usernames and roles. The full form and resulting list below show the controls and the saved result.

The three separate synthetic course accounts have Editor, Author and Contributor roles.
The three separate synthetic course accounts have Editor, Author and Contributor roles.

4. Test roles with separate logins

Use a separate private browser window for each synthetic account. Check the name in the top-right toolbar so the Administrator session cannot mask a permission problem. As Cedar Contributor, open Posts → Add Post, enter Contributor permission check and a short fictional paragraph, then Save draft. The saved editor offers Submit for Review instead of Publish. Inspect the Author and Editor Dashboards in their own sessions. Then, in each session, open your local site address followed by /wp-admin/plugins.php. WordPress should deny this protected route. A missing menu alone is not the test: the screenshots below show real denial responses for all three roles. Keep these attempts on your own practice site.

Cedar Contributor has a saved Draft and Submit for Review control instead of Publish.
Cedar Contributor has a saved Draft and Submit for Review control instead of Publish.
Cedar contributor receives a real access-denied response when opening the Plugins administration address.
Cedar contributor receives a real access-denied response when opening the Plugins administration address.

5. Check ownership and the editorial handover

As Cedar Author, create Author role test — do not publish publicly. Add one short fictional paragraph and Save draft. Return to Posts and check that the item is Draft and belongs to that author. Keep it out of Navigation. As Cedar Contributor, open the draft’s editor address from your practice record. WordPress denies access to this other user’s draft. Save and exit the writer’s session. Sign in as Cedar Editor and open the same draft from Posts. An earlier session can briefly leave an edit-lock notice. If you see the notice pictured below, confirm that the writer saved and exited before choosing Take over; otherwise choose Exit editor and arrange the handover. The following full editor screenshot shows the draft open for review. Leave it in Draft.

After the writer has saved and exited, Cedar Editor opens the complete Author-owned draft for review.
After the writer has saved and exited, Cedar Editor opens the complete Author-owned draft for review.

6. Change one role and read back its effect

Return to the Administrator session. Open Users, choose cedar-author, change Role to Contributor, and click Update User at the bottom of the form. Return to Users and confirm the new role. Sign in again as cedar-author and open its saved draft. The account now has Submit for Review instead of Publish. The username stayed the same; the permitted work changed. Save and exit this session before the removal exercise.

The saved Users list now shows cedar-author as Contributor.
The saved Users list now shows cedar-author as Contributor.

7. Remove the test account and retain its draft

As Administrator, return to Users. Hover over cedar-author and choose its individual Delete action. Check that the confirmation names only that synthetic account. Choose Attribute all content to another user, select Cedar Editor, then Confirm Deletion. Read the Users list: cedar-author should be gone. Open Posts and confirm that the ownership-test Draft still exists with Cedar Editor as author. Finally use a fresh login window to try the removed account; WordPress should reject it. Retain Cedar Editor and Cedar Contributor only in this clearly named disposable training site for lessons 42–43. Record their eventual cleanup in the worksheet. This exercise does not grant, remove or approve anyone’s real business access.

The deletion screen names only cedar-author and explicitly assigns all of its course content to cedar-editor.
The deletion screen names only cedar-author and explicitly assigns all of its course content to cedar-editor.
The ownership-test Draft remains in Posts after deletion, with Cedar Editor shown as its author.
The ownership-test Draft remains in Posts after deletion, with Cedar Editor shown as its author.

Practise

Create the three synthetic roles, test the protected Plugins address in each session, compare draft ownership, change one role, and delete the known test account with explicit content reassignment.

Check your result

Each login has the expected tools and permission boundaries. The removed account cannot log in, its draft remains assigned to the Editor, and the retained training accounts have a recorded cleanup purpose.

If something goes wrong

An unexpected Publish button or administration tool appears? Recheck the actual account, role and plugin-added capabilities before accepting the role map. An edit-lock notice appears? Confirm the previous writer has saved and exited before taking over. The deletion screen includes unfamiliar content or users? Cancel, reconcile ownership and restore-point coverage, and retry only with the known disposable account.

Optional notes

Words used in this lesson
Role
A set of WordPress permissions assigned to an account.
Capability
Permission to perform one kind of action.
Content reassignment
Keeping an account’s posts while assigning them to another owner.
Choose another lesson