GOOD NEWS

GOOD NEWS
Ask For The Truth...

Monday, July 9, 2012

FormsAuthentication on ASP.NET sites with the Google Chrome Browser on iOS

FormsAuthentication on ASP.NET sites with the Google Chrome Browser on iOS:
A few people have said that they have noticed problems the new iPhone/iPad Google Chrome apps as well as trouble with applications that use hosted Safari inside of UIWebView (which is what Chrome is) or apps that host a website in PhoneGap. If you're using FormsAuthentication (in WebForms or MVC, doesn't matter) then Google Chrome for iOS might switch FormsAuth to Cookieless mode, which sucks for everyone.
This has been fixed in .NET 4.5 and you won't see this problem if you have .NET 4.5 installed, even if you're running a .NET 4 application. For example, Bing.com is running .NET 4 applications under .NET 4.5 RC and wouldn't see this. If you install 4.5 (now or later) ASP.NET will always assume clients support cookies.
If you want to tell ASP.NET 4.0 or earlier that EVERY browser supports cookies for FormsAuth you can do ONE of these things:

1. Change Generic.Browser for your app (or machine)

Make a file called generic.browser in a folder called App_Browsers and put this in it:
image
<browsers>
  <browser refID="GenericDownlevel">
    <capabilities>
      <capability name="cookies" value="true" />
    </capabilities>
  </browser>
</browsers>

2. Force Cookieless=UseCookies in your web.config


Add cookieless="UseCookies" for your forms element in web.config.

<authentication mode="Forms" >
  <forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies" />
</authentication>

Hope this helps.

Related Links




© 2012 Scott Hanselman. All rights reserved.

1 comment:


  1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Front end developer learn from ES6 Training in Chennai . or learn thru ES6 Training in Chennai. Nowadays JavaScript has tons of job opportunities on various vertical industry. ES6 Online Training from India

    ReplyDelete