# User Management from Perspective Client Session

**URL:** <https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908>\
**Category:** Ignition\
**Created:** [November 23, 2020, 11:07pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908 "2020-11-23T23:07:29Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [November 23, 2020, 11:07pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/1 "2020-11-23T23:07:29Z")

</div>

We are running Ignition 8.1 and plan to use AD in the future but for now are using ignitions internal authentication. From what I have gathered, there is no formal way to manage one’s own password from inside a client session. Is there someone who can share their own workaround example to allow password change from a perspective client session?

Thanks,  
Nick

---

<div class="post-metadata">

**Author:** ![rbabcock](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rbabcock/32/13425_2.png) [@rbabcock](https://forum.inductiveautomation.com/u/rbabcock)\
**Post date:** [November 24, 2020, 11:57am UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/2 "2020-11-24T11:57:40Z")

</div>

You can use system.user.editUser, just use system.security.getUsername to get the currently logged in user. The docs have an example that should tell you everything you need to know about the scripting aspect.

[https://docs.inductiveautomation.com/display/DOC81/system.user.editUser](https://docs.inductiveautomation.com/display/DOC81/system.user.editUser)  
[https://docs.inductiveautomation.com/display/DOC81/system.security.getUsername](https://docs.inductiveautomation.com/display/DOC81/system.security.getUsername)

Edit: There’s also a session property that has the username: auth.user.userName

---

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [November 24, 2020, 4:01pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/3 "2020-11-24T16:01:27Z")

</div>

@rbabcock the documentation is not clear how to update the password. I try the following:

```auto
name = system.security.getUsername()

user = system.user.getUser("default", name)
curr_password = user.Password

user.set("Password", "new_password")
system.user.editUser("default", user)

```

However, when I read the password again after that, it is unchanged. I’m looking for the correct syntax to enact the password change.

Thanks,  
Nick

---

<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:** [November 24, 2020, 4:10pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/4 "2020-11-24T16:10:56Z")

</div>

Try this:

```auto
from com.inductiveautomation.ignition.common.user import User

name = system.security.getUsername()

user = system.user.getUser("default", name)
curr_password = user.Password

user.set(User.Password, "new_password")
system.user.editUser("default", user)

```

---

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [November 24, 2020, 4:44pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/5 "2020-11-24T16:44:28Z")

</div>

@paul-griffith Here is a snapshot of the script and console output. To me it seems like the password still is not updating.

 ![Capture](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/a/2a6ff9d4435dd31dc48d844d7b79200d8ab4e8f1.png)

---

<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:** [November 24, 2020, 4:56pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/6 "2020-11-24T16:56:10Z")

</div>

Try printing the errors/warnings/infos from the `UIResponse` you get back from the `editUser` function directly. Also, try turning on auditing within your project - you should get confirmation about what changed in your audit log.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [November 24, 2020, 8:43pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/7 "2020-11-24T20:43:44Z")

</div>

Should you be able to read a password from a user via script so easily? I wouldn’t have thought you’d be able to read it at all

---

<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:** [November 24, 2020, 8:56pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/8 "2020-11-24T20:56:41Z")

</div>

I don’t think he is - I think he’s setting a key named `password` to a value, but it’s not the actual password property - which should not be returned to `getUser()`…from what I can tell from our codebase.

---

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [November 24, 2020, 8:58pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/9 "2020-11-24T20:58:01Z")

</div>

@nminchin you are correct. My conclusion so far is that the password cannot be modified via script. In the manual the getUser function says it returns everything but the password.

I’m going to give up on this for now (unless someone has some other advice) and focus on getting active directory setup.

Thanks,  
Nick

---

<div class="post-metadata">

**Author:** ![richard.deleye](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/richard.deleye/32/26535_2.png) [@richard.deleye](https://forum.inductiveautomation.com/u/richard.deleye)\
**Post date:** [July 28, 2021, 1:38pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/10 "2021-07-28T13:38:51Z")

</div>

Has anyone find a solution on this. It seems that it is still not possible but we need it.

---

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [July 28, 2021, 1:59pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/11 "2021-07-28T13:59:28Z")

</div>

@richard.deleye in our case we never pursued this further and have switched over entirely to SAML IDP authentication.

One of the main reasons is that when our system is fully built out, we will have hundreds of gateways so managing passwords manually was not a practical option for us.

Nick

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [July 28, 2021, 2:55pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/12 "2021-07-28T14:55:54Z")

</div>

> [@nicholas.robinson](#):
>
> we will have hundreds of gateways

👀

---

<div class="post-metadata">

**Author:** ![Luis\_Perez1](https://avatars.discourse-cdn.com/v4/letter/l/b3f665/32.png) [@Luis\_Perez1](https://forum.inductiveautomation.com/u/Luis_Perez1)\
**Post date:** [August 15, 2023, 2:42pm UTC](https://forum.inductiveautomation.com/t/user-management-from-perspective-client-session/40908/13 "2023-08-15T14:42:01Z")

</div>

this worked for me perfect. thank you!
