6 Replies Latest reply on May 11, 2017 5:09 AM by Patrick Abernathy

    Server login hack

    Adam Cullen

      Hi all, I was wondering if anyone might know how to do the server login screen hack on Server 10.2


      Apparently this used to be available back in Server 8, see here.


      Does anyone know which files in the new file structure to change to achieve something similar?  I want to add a reset password link (that links to our internal password management system) to send people there if they have forgotten their password or it has expired.




        • 1. Re: Server login hack
          Toby Erkson

          Vien Hua or Russell Christopher, care to take a swing at this?

          • 2. Re: Server login hack
            Vien Hua

            I gave it a shot... semi-successful. It seems the html page is more and more dynamic these days. I mean Tableau starting from version 9 is using AngularJS as the front-end. See below:


            I was able to insert some text but it ended up being at the top left corner. I modified the file C:\Program Files\Tableau\Tableau Server\10.2\vizportalclient\public\en\vizportal.html. I place a <div> with my text right below the </script> that is within the <body> tag. I didn't try much else though. Also, this depends on your authentication method I believe.


            Lastly, as of Tableau Server 10.1, there is a new reset password feature for local authentication. See What’s New in Tableau Server. Just run 'tabadmin set features.PasswordReset true' and restart your server.


            Hope this helps you figure it out.

            • 3. Re: Server login hack
              Adam Cullen

              Thanks for your help Vien,


              I'm also semi-close.  I've taken what Vien has suggested, but modified C:\Program Files\Tableau\Tableau Server\10.2\vizportalclient\public\en\login.html instead.  This seems to be the element that angularjs is using to form the username password and signin button.  By inserting a href code below the button code, but within the form code, I could position the text where I want it (see screenshot below).




              The trouble I'm having is getting the angularjs framework to produce a link.  I had never heard of it before today, so a full day's googling and a lot of experimentation later, I'm still frustrated at not being able to generate a link, the text is just text.


              Here is my login.html code (sorry, but I couldn't figure out any way to post this other than an image) if anyone can contribute and assist in sorting out how the angularjs href works. I cant figure it out.  I've only added the bit in the red circle, the rest has just been re-formatted for readability.



              • 4. Re: Server login hack
                Patrick Abernathy

                I've been looking to do this for a while.  I took Adam's suggestion (and used the same line) and placed it into my login.html file.  I saw no change immediately.  I did remember reading something earlier so I made a backup copy of login.html.gz and deleted the original.  I then did a kill task on vizportal forcing it to reload the html files (taskkill -f -im vizportal.exe from command prompt) and behold, my link showed up and it's fully functional.  I'm going to keep playing around with it but hope this helps.



                • 5. Re: Server login hack
                  Adam Cullen

                  Hi Patrick, thanks for taking up the cause. I tried what you did (taskkill -f -im vizportal.exe) but "CLICK HERE" still wouldn't turn into a hyperlink. I've replecated your line exactly and deleted login.html.gz, but I cant get it to turn into a hyperlink.


                  You said you just task killed the vizportal.exe? Did you have to do anything to start it back up? Did you have to recreate a login.html.gz or anything?


                  I'm still confused as to why this isnt working.

                  • 6. Re: Server login hack
                    Patrick Abernathy

                    Good morning.  Once you use the cmd option to taskkill, it will kill the vizportal process but Tableau immediately spins up a new one.  If you immediately hit the webpage, you'll notice you get a blank screen then it will suddenly load once the new process has spun up.  As for the login.html.gz file, I just left that deleted and Tableau will then use the html file.  I think you can repack the modified file since gz is just a zip file but I haven't played with that yet.


                    One thing to try is I did all my testing with FireFox Private browser to start with since Tableau loves caching everything locally.  Just to double check everything, I've attached my login.html file.  We have a custom page to reset passwords since we use AD auth for Tabelau, so my link now says "Forgot your password?" but I've reset the href back to Google.  I've also attached a picture below to show my file structure for the login file.


                    Let me know if this doesn't work and I'll be happy to try and dig into it more.  Not sure why the same process would work with one and not the other.  I'm using Tableau Server 10.2.0 (10200.17.0223.1918) 64-bit.