# Authentication without new session / reloading project

**URL:** <https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [June 23, 2025, 7:49am UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662 "2025-06-23T07:49:29Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![SBL\_MC](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sbl_mc/32/56813_2.png) [@SBL\_MC](https://forum.inductiveautomation.com/u/SBL_MC)\
**Post date:** [June 23, 2025, 7:49am UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/1 "2025-06-23T07:49:29Z")

</div>

Hey all,

Has anyone figured out a reliable method to re-authenticate a user in Perspective (e.g., log in as a different user) **without triggering a full project reload or creating a new session**?

I know `system.perspective.login()` kicks off a new session under the hood, which is by design. But in real-world workflows—especially **operator handoff or station re-authentication** —it’s pretty disruptive to fully reload the view.

Anyone got a clever workaround? Even something unsupported-but-works?

Would love to hear how others have handled this—especially in **24/7 HMI control room settings** where seamless transitions are key. Clients within the security zone can open the project, but can’t do anything until logged in. Logging in returns to the start view.

Thanks.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 23, 2025, 11:34am UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/2 "2025-06-23T11:34:45Z")

</div>

This is one of my largest roadblocks to using Perspective (besides the drawing tools) that's held us back from recommending it to customers, due to the blindness of switching users on continuous operations and needing to have visibility all the time. Ideally I'd like to see a popup window where the user can log in and then the screens all "refresh" similar to Vision to update the security context.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 23, 2025, 11:48am UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/3 "2025-06-23T11:48:31Z")

</div>

Considering the likely need to ensure control room operations are permitted only on those control room systems, I can't recommend Perspective in that role. (Yet.)

---

<div class="post-metadata">

**Author:** ![dillon](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dillon/32/81537_2.png) [@dillon](https://forum.inductiveautomation.com/u/dillon)\
**Post date:** [June 23, 2025, 3:03pm UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/4 "2025-06-23T15:03:43Z")

</div>

Not that I am saying this is the right solution _if a solution at all_, but something that popped in my head. Could you create your own authentication driven by custom session properties? Then, it's dependent on the session and does not utilize the built-in functions that force a new session.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 23, 2025, 3:11pm UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/5 "2025-06-23T15:11:26Z")

</div>

You're going to have to elaborate more. Authentication is driven through the IdP, which needs to be displayed in a window of some sort. If this popped up in a separate popup window, that would be ideal, but I don't know how any custom session properties would accomplish anything like this.

---

<div class="post-metadata">

**Author:** ![dillon](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dillon/32/81537_2.png) [@dillon](https://forum.inductiveautomation.com/u/dillon)\
**Post date:** [June 23, 2025, 4:53pm UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/6 "2025-06-23T16:53:12Z")

</div>

Let's say we have a custom session property object named **authenticated\_user**. If you have an external user source, you could query the database with usernames and passwords with a prepared sql query and then if their given credentials match, set the property manually. Then have bindings if the **authenticated\_user** exists to show/hide certain things based on the roles they have assigned.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 23, 2025, 5:03pm UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/7 "2025-06-23T17:03:21Z")

</div>

> [@dillon](#):
>
> Let's say we have

So, no IdP and no use of built-in security at all?

Or is there some magic wand involved?

---

<div class="post-metadata">

**Author:** ![dillon](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dillon/32/81537_2.png) [@dillon](https://forum.inductiveautomation.com/u/dillon)\
**Post date:** [June 23, 2025, 5:10pm UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/8 "2025-06-23T17:10:07Z")

</div>

I'll take a magic wand if you have a stock of them somewhere...

In this theoretical you would maintain authorization yourself and not use the built-in features, but it at least allows the built-in security to be used in all other implementations on the Gateway where you don't have this case.

Like I said 😆

> [@dillon](#):
>
> if a solution at all

---

<div class="post-metadata">

**Author:** ![Matthew\_Gall](https://avatars.discourse-cdn.com/v4/letter/m/bbce88/32.png) [@Matthew\_Gall](https://forum.inductiveautomation.com/u/Matthew_Gall)\
**Post date:** [June 24, 2025, 4:35am UTC](https://forum.inductiveautomation.com/t/authentication-without-new-session-reloading-project/107662/9 "2025-06-24T04:35:25Z")

</div>

I have a workaround for you:

1. Create a view with a button that calls system.perspective.login(). Add the view to your page config.
2. Create a view with an inline frame component with the page you created as the source URL. If you have multiple gateways, just build up the URL with an expression and session.props.gateway.address.
3. Create a button on your menu or wherever you want to login that calls the second view as a popup.

The inline frame opens another page in the same session (as long as it's part of the same project), so you can sign in inside the popup. Only the iframe in the popup will reload but the whole session will be authenticated. This allows you to log in without losing visibility of any plant.  
This works with the Ignition IDP, I haven't tested it with other IDPs.
