Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Show different controls by role
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Grant access to specific resources
Next
Sessions →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Access/Show different controls by role

Show different controls by role

A Role Section is a section type that swaps its own contents depending on which role the current user is identified as: useful when the same position should look different for a director than for a camera operator, without building and maintaining two separate positions.

Note

Restricting a Role Section to specific roles requires a Pro license. Without one, you can still add the section and create role views, but you can't switch its authentication away from requiring just a role or a role plus PIN.

Before you begin#

  • At least one Role already created: see Create roles and assign permissions.
  • A Pro or Enterprise license, to actually enforce role-based access on the section.
  • A sense of which distinct views different roles actually need: a Role Section works best with a small number of clearly different views, not one per individual user.

Add role views to a section#

  1. Add a Role Section to your position (or shared section, or cuelist).
  2. In the inspector, find Role views: it starts empty, with "Add a role view to choose which roles can see its contents."
  3. Select Add role view, choose one or more roles for it, and select Create role view.
  4. Build that view's contents as you would any other section.
  5. Repeat for each distinct view you need. Each view is automatically labeled from the roles assigned to it (for example, "Director + Camera Op"); you can also give it its own icon and border color to make it easy to tell apart while editing.
To change a view's roles later, use its Edit roles action. Its context menu also offers Duplicate, Rename, and Delete: deleting a view removes any items that only exist on that view, so move anything you want to keep to another view first.

Choose how identification works#

A Role Section's Authentication Mode is limited to the two role-based modes also available on other sections:
  • User role: require one of the roles assigned to a view.
  • User role + PIN: require one of those roles, plus the identified user's personal PIN.
See Authentication for basic sections for how identification itself actually happens (login, NFC, and so on): a Role Section reuses that same mechanism, it just adds role-matching on top.

Understand what a user actually sees#

  • If no role view has any roles assigned at all yet, the section renders completely empty: there's nothing to gate on.
  • Once a user is identified, Buttons checks their roles against every view's assigned roles:
  • No match: the section stays empty and identification resets, as if no one had identified yet.
  • Exactly one match: that view's contents display directly.
  • More than one match (the user holds roles tied to several different views): Buttons shows a picker with one button per matching view, plus a way to log out, so the user chooses which view to enter.

Preview a role's view while building#

While editing a position, use View as role in the toolbar (Pro license required) to see the canvas as a specific role would see it, without actually signing out and back in as that role. This is an editor-only preview: it has no effect on how real devices evaluate identification, and doesn't change what's actually stored.

How this relates to Roles and Permissions#

A Role Section draws its list of roles from the same Roles you manage in Create roles and assign permissions, but assigning a role to a view is a separate, independent thing from that role's resource permissions (its Read/Update/Delete grants on positions, connections, and so on). Giving a role access to a view only controls what that role can see here; it doesn't grant or depend on any CRUD permission. Conversely, who can edit the section itself (open the position, shared section, or cuelist it lives in) is governed entirely by the normal permission grants, not by the section's own role-view assignments.
There's no separate way to sign in as a specific user to confirm their exact effective access: outside of the editor's View as role preview, the only way to confirm what a real user sees is to have them (or you, temporarily holding that role) actually sign in.

If you get stuck#

What you see
What to try
The section is completely empty for everyone.
Confirm at least one role view has roles assigned: an unassigned Role Section always renders empty.
A user sees nothing after identifying.
Their roles don't match any role view's assigned roles: check which roles they actually hold against each view's Edit roles list.
You can't set Authentication Mode to a role-based option.
This requires a Pro license: confirm your license tier.
A user with two roles gets a picker instead of their view directly.
That's expected when their roles match more than one view: they choose which one to enter.
You want to confirm what a specific person will see.
Use View as role during editing for a quick check, or have that person actually sign in for a fully accurate result: there's no admin "sign in as" feature.

Where to go next#

  • Create roles and assign permissions
  • Authentication for basic sections

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful