# How to enable a component in for a particular user

**URL:** <https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279>\
**Category:** General Discussion\
**Tags:** vision, scripting\
**Created:** [December 18, 2023, 7:20pm UTC](https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279 "2023-12-18T19:20:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![arpit\_yadav](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@arpit\_yadav](https://forum.inductiveautomation.com/u/arpit_yadav)\
**Post date:** [December 18, 2023, 7:20pm UTC](https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279/1 "2023-12-18T19:20:25Z")

</div>

hi,  
I want to enable a component for particular user with particular role, i have write down a script it doesn't seems to be working.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/6/56a2856a4004a5c4e7764e49d9b97ff9127d0b3f.png)

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [December 18, 2023, 7:20pm UTC](https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279/2 "2023-12-18T19:20:55Z")

</div>

What about an expression -  
[hasRole - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/hasRole#:~:text=This%20function%20is%20used%20by%20Ignition's%20Expression%20language.&text=Returns%20true%20if%20the%20user,required%20in%20the%20Gateway%20scope).

`hasRole('Manager') || hasRole('Supervisor')`

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [December 18, 2023, 7:21pm UTC](https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279/3 "2023-12-18T19:21:39Z")

</div>

Or, even better, Component Security?

[https://docs.inductiveautomation.com/display/DOC81/Component+and+Window+Security](https://docs.inductiveautomation.com/display/DOC81/Component+and+Window+Security)

---

<div class="post-metadata">

**Author:** ![arpit\_yadav](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@arpit\_yadav](https://forum.inductiveautomation.com/u/arpit_yadav)\
**Post date:** [December 19, 2023, 9:48am UTC](https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279/4 "2023-12-19T09:48:25Z")

</div>

what is I want do it with scripting.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [December 19, 2023, 4:38pm UTC](https://forum.inductiveautomation.com/t/how-to-enable-a-component-in-for-a-particular-user/83279/5 "2023-12-19T16:38:57Z")

</div>

You really shouldn't; you should use component security because it's better for future maintenance (more performant, more reliable, easier for the next person to understand) _but_ if you insist on doing it with scripting, your script in the OP can be rewritten to:

```python
allowedRoles = ["Manager", "Supervisor"]
userRoles = system.security.getRoles()
event.source.enabled = any(role in allowedRoles for role in userRoles)

```
