For those that have customized their vSphere Client Login UI using the instructions here and here, it looks like the process can not be applied to the vSphere 6.7 release. From what I can tell, it looks like we have now consolidated the various WAR files into a single file /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war. The original contents of the websso directory, which pertains to the UI customization, is now located here. This was a fairly minor change, but something to be aware of and for details on how to persist your configuration changes, please see the instructions below.
UPDATE (11/19/22) - As of vSphere 8, the webapp WAR file is now located in /var/lib/sso/webapps/ROOT.war
Disclaimer: This is not officially supported by VMware. If you decide to enable this, please use at your own risk and ensure you backup all original files in case you need revert back to the original configuration.
As part of looking into this, I also had some fun incorporating a cool little animated login page directly into the vSphere UI which I had shared on Twitter yesterday. Stay tuned for more details on #vYetti 🙂
The good news is there is a work around, but I do want to stress that this is NOT an officially supported capability so though it has worked in the past and it seems to continue to work, its behavior can change in the future. If this is something you believe is useful for your organization, I highly recommend you provide that feedback to your VMware Account team so they can relay that back to vSphere Client Product Manager.
Step 1 - Lets first take a backup of the original ROOT.war file so you can easily revert back in case you run into any issues. To do so, login to VCSA via SSH and run the following command:
cp /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war.bak
Step 2 - We are now going to create a temporary directory that we will use to store the ROOT.war file and we will also copy over it over using the following two commands:
cp /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war /root/ROOT/
Step 3 - We are now going to change into our /root/ROOT directory and extract the contents of the war file so we can make our modifications. To do so, run the following three commands:
Step 4 - If you wish to pre-fill the credentials when logging into the vSphere Client (Flex/H5), go ahead and update WEB-INF/views/unpentry.jsp as outlined in this blog article here. If you wish to make the login button active so you do not have to click into the box or hit tab, you will need to comment out $('#submit').prop('disabled',true); on L91 in resources/js/websso.js
Step 5 - Once you have completed and saved all of your changes, we now need to re-generate the ROOT.war file so we can replace it with our modified version. To do so, run the following command:
zip -r /root/ROOT.war index.jsp META-INF resources WEB-INF
If the command was successful, we should have our new ROOT.war located in /root.
Step 6 - Now we just need to update the system with our modified ROOT.war by simply copying it back to the original location by running the following command:
cp /root/ROOT.war /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war
Finally, to verify that that our changes will go into effect, we can simply issue a reboot to our VCSA and we should see that any customization changes made to the vSphere Client Login UI will now persist after a system restart.