5,000+
Reports migrated onto a single WordPress instance, each one served behind role-based access
User management
Federated login against the identity provider you already run, roles that match what people actually do, and an activity log that answers who changed this without anyone opening the database.
What we configure
WordPress ships with five roles and a login form. That is enough for a team of five. At two hundred users spread across editorial, legal, agency partners and regional offices, the gaps stop being cosmetic.
SAML or OAuth against Azure AD, Google Workspace, LDAP or Auth0, with multi-factor enforced by the provider instead of bolted onto WordPress. Accounts stop living in two places, so removing someone from your directory removes them here.
Every federated setup gets a local administrator that bypasses the identity provider, tested in staging before launch and documented as an emergency path. Federated login is a single point of failure until you plan for it failing.
Capabilities assigned in code with add_role and add_cap, or through the Members plugin when the client wants to adjust them without a deploy. Regional Editor, Compliance Reviewer and Report Editor are roles people recognize. Author and Contributor are not.
Every role is documented with what it can and cannot do, so who is allowed to publish this becomes a question your team answers on its own. Editors get a short guide for the tasks they run themselves, like scheduling a post or sending one for review.
On WordPress VIP we use Automattic’s VIP Workflow plugin, which puts reviewers and approvers inside the editor. Off VIP we have not standardized on one plugin, so we evaluate Edit Flow or Oasis Workflow per project.
WP Security Audit Log, or the Melapress premium tier when retention and notification rules matter. Logins, content changes, user changes and configuration changes, with export paths agreed up front. On VIP we push events to external logging over API or webhook.
Onboarding and offboarding steps written down, with a scheduled permission review so access does not quietly accumulate. Permission creep is rarely a configuration error. It is an account nobody removed.
Proof
Everest Group, a research and consulting firm, ran its gated reports portal and its marketing site on separate platforms with an access system that could not keep up. 40Q unified both on one WordPress instance with federated login and a granular permissions layer. These figures describe the access model we built, not campaign results.
Reports migrated onto a single WordPress instance, each one served behind role-based access
Unified authentication across the reports portal and the marketing site, replacing two separate login paths
Role-based access mapped to what each subscriber level is entitled to open
How we scope it
Access work goes wrong when it is run as one project. Authentication, authorization and accountability have different owners, different failure modes and different sign-off.
Owned by IT. The decision is whether WordPress trusts your identity provider or keeps credentials of its own. Once it trusts the provider, offboarding becomes a directory task, which is where it belongs.
Owned by whoever runs the content organization. This is a mapping exercise before it is a technical one. List what each team genuinely does, then grant only the capabilities those actions require.
Owned by security and legal. Decide which events are worth recording, how long they are kept and whether they need to leave WordPress for a SIEM. Answer that before installing a logging plugin, not after.
The questions that come up in the first call with IT.
Related insights
Controls, editorial workflow and the IT conversation that sits behind both.
Mar 28, 2026
WordPress
Apr 11, 2026
WordPress
Feb 14, 2026
WordPress
Take the next step
We will look at how people authenticate today, which roles exist and what your activity log actually captures, then send you the findings whether or not you work with us.