I am currently maintaining an old legacy thick-client application with many individual screens and functions.
We have a strategy for migrating screens from the old technology (VB6) to a newer architecture and UI technology. Up until recently this was to embed Winforms or WPF inside the existing VB6 screens but the company is moving towards Web-based applications.
For the web-based portions, we remove the old screen, retain the exiting navigation and then transfer the user to a web-based application, passing the current customer context along on the URL.
This has introduced some issues due to the disconnected nature of the two applications, where a user could open customer A, then navigate to a web screen for that customer, then go to customer B, but in their web browser it is still pointing at customer A.
The web page has a time-out which forces the user to acknowledge they want to continue with the current customer, but there is a concern for some screens we are planning on moving to a web interface, where a mistake by the user could have a large financial consequence.
I am hoping someone might have a good solution for handling this situation, better than a simple time-out.
Please let me know in a comment if more information is required.
I have asked this same question on StackOverflow, but thought I might get more usability options here
EDIT: Switching between different customers is done in the thick-client application. At the moment the web pages are an extension of the thick-client application, not a full-blown application by themselves.