Topic: Niagara Graphics, User Permissions
Difficulty: Intermediate
Make graphic elements visible or hidden based on the currently logged-in user. Control UI element visibility by user role.
Make a Hyperlink label visible only when user is "admin" and invisible when user is "oper" (operator).
Use session variables to determine the current user and conditionally show/hide elements.
Check user's role instead of username:
<label text="Admin Settings">
<visible binding="session:|user/role"
visibleValues="admin,superuser"/>
</label>
For specific user visibility:
<container>
<visible>
<equals>
<binding ord="session:|user"/>
<value>admin</value>
</equals>
</visible>
<hyperlink text="Admin Only Link" ord="..."/>
</container>
Access current session info:
session:|user - Usernamesession:|user/role - User's rolesession:|user/displayName - Display name<pxContainer>
<!-- Visible only to admin -->
<hyperlink text="System Settings" ord="/admin">
<pxVisible>
<pxEquals>
<pxBinding ord="session:|user"/>
<pxString value="admin"/>
</pxEquals>
</pxVisible>
</hyperlink>
<!-- Visible to operators -->
<hyperlink text="Operations" ord="/ops">
<pxVisible>
<pxEquals>
<pxBinding ord="session:|user/role"/>
<pxString value="operator"/>
</pxEquals>
</pxVisible>
</hyperlink>
</pxContainer>