First user-based control locking mechanism [Ignition 8]

See this similar recent discussion:

That one is for Vision, but a similar technique would be reasonable for Perspective (using session ID instead of client ID).

One big caveat:

If your application needs any kind of jog functionality, Perspective cannot do it. (It cannot ensure a jog command turns off when a button is released.) It is non-trivial to make reliable in Vision, but is at least possible. Search this forum for "Momentary" for detailed discussions of why. (Some quite heated.)