My company Is still using a portal for their customer login, and I was recently tasked with creating a VF page to replace the bland default login page. I have most of the page set-up, but I cannot get the page to redirect back to itself on a failed login; instead, it goes to the default login page. I'm using the code I found in other question pages for determining if a login succeeded or failed, by checking if the pageReference returned by a login is null:
//set reference and attempt login PageReference portalPage = new PageReference(startUrl); portalPage.setRedirect(true); PageReference p = Site.login(username, password, startUrl); //if login==false return to custom login if (p == null) return Site.login(username, password, null); //else enter portal else return portalPage;
This code, however, always redirects to custom login pagen (p is always null). In experimentation, I simply returned portalPage, and it makes it so that it only redirects to the default login (or the portal itself on successful login. As such, I am convinced that the "p == null" bit is not successfully determining the login status, though it seems to work for everyone else. If anyone could offer some advice as to how I might go about fixing this, I would much appreciate it.
For reference, I used the exact same method I found here: https://developer.salesforce.com/forums/ForumsMain?id=906F000000096YkIAI