Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a SharePoint 2010 website using a custom FBA login page: https://www.questionmark.com/members/login.aspx

The page works fine, meaning that our users can login. The problem is that the browsers (IE8+, FireFox and Chrome) are not prompting my users/customers to remember their passwords. It's a major inconvenience, especially for my colleagues who login with multiple accounts or daily and have to remember their passwords.

Is this a know issue (unlikely) with SharePoint or with FBA (ASP/NET login control), or can anyone suggest a possible cause why this might happen?

I've seen people talk about using password trackers/storage apps, but this isn't going to work for us as we have customers with this problem too, and we can't tell them to install other tools. I've seen other SharePoint websites where the broser DOES prompt to remember passwords, but I don't recall if these sites were HTTP or HTTPS (if that might be the reason).

Any advice would be welcome.

share|improve this question
    
I finally found the cause of my issue: My custom login form allows for two different ways to authenticate. As such the form has 3 fields: Username and Password, for the standard FBA login, and then another called "customerID". If I remove these 3rd field, then IE recognizes the form as a login form and prompts to save the password in it's internal storage. With this 3rd field in place, it does not. Now I need to work out how to get around this, if possible. –  QMKevin Sep 17 '12 at 13:41
add comment

3 Answers

It looks like it's an issue with your custom login page. The default login page does have the "Sign me in automatically" check box when viewed over SSL. I've also created a custom login page that has the "Sign me in automatically" check box when viewed over SSL. To create my custom login page I simply inherited from Microsoft.SharePoint.IdentityModel.Pages.FormsSignInPage, and based my aspx page on the default SharePoint one (_forms\default.aspx). I didn't change much, just added some extra elements to the page and some formatting. You can view the login page here: https://www.charityfocus.ca/_layouts/ic/login.aspx?ReturnURL=http://www.charityfocus.ca/EN/Pages/Home.aspx

If yours is based off of the default SharePoint login page, make sure you include the RememberMe control:

<asp:checkbox id="RememberMe" text="<%$SPHtmlEncodedResources:wss,login_pageRememberMe%>" runat="server" />
share|improve this answer
    
Hi Chris. My issue is less with the "Sign me in authomatically" (a.k.a. "Keep me logged in"), but more that the browser itself isn't allows passwords to be stored it's own password management system. My page has AJAX, which I read can impact the browsers own storage, as the user never actually leaves the login page, so the browser doesn't kick-in to save the password. Removing this has allowed FireFox to show it's prompt, but I'm still having trouble with IE and Chrome. –  QMKevin Jul 5 '12 at 13:38
    
The 'Sign me in automatically' doesn't actually tell the browser to save the password - it tells the browser to keep the authentication cookie after the browser has been closed. By default the cookie is saved only for the session - which is why you're prompted for your username/password if you close/reopen your browser. By checking the box, you should be logged in automatically if you close/reopen your browser. Note that even when sign me in is checked there is an expiry on that cookie and it's short by default. This expiry can be changed via PowerShell though. –  Chris Coulson Jul 5 '12 at 16:55
    
Powershell commands to change expiry (from jasear.wordpress.com/2011/01/10/…) $sts = Get-SPSecurityTokenServiceConfig $sts.ServiceTokenLifetime = (New-TimeSpan -Days 365) $sts.FormsTokenLifetime = (New-TimeSpan -Days 365) $sts.LogonTokenCacheExpirationWindow = (New-TimeSpan –seconds 1) $sts.UseSessionCookies = $false $sts.Update() –  Chris Coulson Jul 5 '12 at 17:04
    
Hi Chris. I understand all you've written, but again, I'm not worried about "sign me in automatically". I'm trying to figure out why the browser isn't prompting users to store their password in the browser down storage. i.e. when browsing my site in Chrome, after logging I'd expect to see a browser based (not site based) prompt like this: cache.gawker.com/assets/images/lifehacker/2009/12/… –  QMKevin Jul 5 '12 at 19:35
add comment

If you read Why Won’t IE Remember My Login Info? you'll see that reason #5 is submit is done by javascript which is the case with your form.

You might try to add window.external.AutoCompleteSaveForm(aspnetForm) to the OnClientClick for the Login button.

share|improve this answer
    
Hi Per, and thanks for the comment. The form does appear to be submitted by JavaScript, you're right. This wasn't intended and seems to be a default operation by using the ASP.NET user controls (asp:Login) even though there is an <input type="submit"..>. I tried the AutoCompleteSaveForm, using info found here but I'm still not seeing the browsers prompt to save the password. Interestingly in IE the username is being saved in the local storage, just not the corresponding password. –  QMKevin Jul 12 '12 at 13:56
add comment
up vote 0 down vote accepted

I found that cause. Internet Explorer doesn't like any other form fields as part of a login form. My page had 2 extra fields (outside of the <asp:login... control), for Search and another method of authentication with my site.

Once I removed these (from the Master Page, for the search textbox) Internet Explorer started prompting for, and saving authentication information in the browser password storage.

Odd that other browsers don't seem to care if 'extra' fields exist, but I shouldn't be too hard on IE.. should I?

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.