Search code examples
sessionjsf

How to save some values permanently on a browser?


I have some login information; let's say user name, login email, and location.

I want keep this information in the browser even after the user logs out and closes the window.

When the user comes back after a logout or the session expiry, the web application fills the client user name and asks for the password from the user. The best example of my requirement is Google login.

Currently, I am using only session and no cookies.

What are the possible solutions?


Solution

  • LocalStorage is considered to be the best solution for storing values permanently in the browser.!! A good explanation about the LocalStorage can be found here.

    This is my code used to save the value to the LocalStorage.

             function saveLoginNameToLocalStorage()  
                    {
                     if(typeof(Storage)!=="undefined")//checks whether the browser support localStorage
                      {
                            // you dont want to create a variable by var variablename, 
                            // just give it as localStorage.yourVariableName, before assigning 
                            // any values the variable is shown as  undefined.
                             if(localStorage.userName && localStorage.userName !="" && localStorage.userName==document.getElementById("userName").value){
                                document.getElementById("redirectUrl").value=localStorage.redirectURI;
                            }
                            else{
                                localStorage.redirectURI="";
                                document.getElementById("redirectUrl").value="";
                            }
                             localStorage.userName=document.getElementById("userName").value;
                             localStorage.redirectURI="";
                      } 
                    }
    

    You can access the variable using localStorage.userName from anywhere in the browser. Worked well for me. ;-)

    Thanks everyone for the help provided..!!