You can always manage the sessions with cookies that expire after a certain time.
IE: if you are logging the user create a hash valid for X time and then store it on a cookie on the client, this way, if he came back via direct address, you'll be able to read the cookie and check if it's still a valid hash, then just relog the user and continue with the process.
However if the user doesnt have cookies ull be in troubles. There's always a downside on every solution n_n
cheers