One-Shot Button Security

Ignition version 7.2.3 (b6630)

Applying security to a one-shot button component does not disable the button from being pressed when a user is not logged in.

I must be misunderstanding. If you’re not logged in, how do you even see the button?

Sorry, I meant not logged in with a security role needed to access the button. Right clicking on a one-shot component and applying security has no effect on this component. In the attached image I can click on the button (at runtime) and have it work without being logged in a a user with the “Operator” role.

I’m unable to reproduce this - I just set up what you described and when I logged in with a user without the “Operator” role the button was disabled. Perhaps something else (a script or binding perhaps) is enabling the button after the window is opened?

To close the loop on this topic, I called tech support. The one-shot button property “Disable while writing” has to be set to false for the security to work. Easy enough. The default value for this property is true. To make the problem show up you have to bind the “value” property to a tag. That may be why you could not replicate it. Dave, at tech support, put in a trouble ticket on this.

I’m not sure why the “Disable while writing” exists on this component and not other input/write components. I suppose the property is an attempt to maintain exclusive use of a tag while it is in the process of being written. My computer science 2 cents worth on this is that the property “Disable while writing” should be deprecated, set to false by default, and eventually deleted. You could put this property on all input components, to be consistent, but I think you’d be banging your heads against the wall doing so. Maintaining exclusive use of writable data is a tricky problem to solve, but it is most commonly a problem involving multiple, related tags, not single tags.