Remote Operations Forum
Support forum for Schneider Electric SCADA systems, radios and RTUs. From commissioning integration devices and software, to enhancing existing installations or troubleshooting.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-18 09:34 AM
Hi,
I need to disable objects, like buttons, using "PickDisabled" animation property, with an expression that call id UserGrup of the user logged in.
I need to disable a button if user of a precise UserGroup is logged inside Geoscada.
Can someone write to me an example. I'm be able to disable button with USERNAME()='name of the user logged' but i need to do the same thing with Usergrop name or id.
Thanks a lot.
Valentino
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-18 09:40 PM
User groups are primarily a way of assigning roles and permissions.
So you would really want to do this by using permissions instead.
This is doubly important because hiding a button is NOT a security control
If you're trying to stop someone from performing a control, hiding a button will not stop them. They can just go into the database tree, find the point and issue the control. Or they can use the SOAP interface and issue the control.
There are animations you can use based on whether someone has a certain permission (i.e. "CFG" etc), this combined with assigning appropriate permissions to the appropriate user groups would be the way to do this.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-24 12:47 AM
Thank you BavanWeiss, You are right.
I found a solution in crating a variable visible by a specified UserGroup. When you log in with a user that is not part of that UserGroup, he doesn't view that variable inside DB.
To disable a mimic object, for example a button, I use the EXIST('variable') function inside "PickDisable" animation property.
This is a good solution for me.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-27 03:42 PM
What does the button actually do though?
Normally the button will result in some change to the system, like it will issue a control to a field device, or perform a refresh of communications, or something like that.
Each of those actions would generally have a specific security configuration around it.
If your button is interacting with numerous objects (like two points and an outstation) then you would care about the security configuration of all three items... and perhaps the user should then have "CTL" (control) permissions and diagnostics or refresh or such on the outstation.
You would be much better off tying the security, and button visibility, back to the actual objects that the button interacts with, rather than just a generic unrelated object.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2022-03-29 05:48 AM
The 'right' approach is to animate the PickDisabled property of your button according to the action privilege on the controlled object.
For example, use the expression:
NOT ".OBJECT_TO_BE_CONTROLLED.CheckAccess('CTL')"
By using the 'EXISTS' animation you just check the Read privilege ('RD'), which is probably not what you need.
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.