# system.security.getRoles() use in an expression

**URL:** <https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709>\
**Category:** Ignition\
**Created:** [December 7, 2011, 4:01pm UTC](https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709 "2011-12-07T16:01:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jim\_lapratt](https://avatars.discourse-cdn.com/v4/letter/j/cc9497/32.png) [@jim\_lapratt](https://forum.inductiveautomation.com/u/jim_lapratt)\
**Post date:** [December 7, 2011, 4:01pm UTC](https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709/1 "2011-12-07T16:01:46Z")

</div>

Wish to use:

system.security.getRoles()

and another tag reference on the Visible property of a input box something like:

```auto
toInt(Tag({Root Container.TagPath}+"LoggedIn"))=0
||
"Foreman" in system.security.getRoles() 

```

If either or both are true enable visible.

How do I wrap the python to work here?

---

<div class="post-metadata">

**Author:** ![Travis.Cox](https://avatars.discourse-cdn.com/v4/letter/t/b9bd4f/32.png) [@Travis.Cox](https://forum.inductiveautomation.com/u/Travis.Cox)\
**Post date:** [December 7, 2011, 7:46pm UTC](https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709/2 "2011-12-07T19:46:42Z")

</div>

You can use the lookup function to see if they have a certain role:`toInt(Tag({Root Container.TagPath}+"LoggedIn"))=0
||
lookup({[System]Client/User/RolesDataSet}, "Foreman", "", 0, 0) != ""`

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [December 7, 2011, 7:57pm UTC](https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709/3 "2011-12-07T19:57:12Z")

</div>

Or use indexOf on the RolesString tag

`toInt(Tag({Root Container.TagPath}+"LoggedIn"))=0
||
indexOf({[System]Client/User/RolesString},"Rolename")!=-1`

---

<div class="post-metadata">

**Author:** ![Travis.Cox](https://avatars.discourse-cdn.com/v4/letter/t/b9bd4f/32.png) [@Travis.Cox](https://forum.inductiveautomation.com/u/Travis.Cox)\
**Post date:** [December 7, 2011, 8:05pm UTC](https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709/4 "2011-12-07T20:05:15Z")

</div>

Just be careful on that one if you use Foreman in some other role like ForemanSup.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [December 7, 2011, 8:06pm UTC](https://forum.inductiveautomation.com/t/system-security-getroles-use-in-an-expression/3709/5 "2011-12-07T20:06:48Z")

</div>

Yeah, I was just about to give the caveat, but you beat me to it! 😆
