As I mentioned earlier, solutions that rely on User-Agent sniffing may break, when a new browser or a new version of an existing browser is released. Unfortunately because ASP.NET also contains browser-specific code, the new Internet Explorer 11 may cause some problems there as well.
Lucky coincidence, that one day after my previous post Eric Lawrence published an articleabout IE11 and User-Agent sniffing. Some interesting facts from his article:
- The IE team deliberately designed the UA string to cause most sniffing logic to interpret it either Gecko or WebKit and not as previous IE version.
- During the summer the ASP.NET team published a set of patches to fix the IE11 issues in earlier .NET versions. For example KB2836939 is for .NET 4.0, and you can find more links in Eric’s article.
The issue we experienced was on an older server that was running ASP.NET 4.0. IE11 sent the forms authentication cookie to the server, but the server completely ignored it. In theweb.config file the forms element didn’t contain the cookieless attribute, because the default UseDeviceProfile worked perfectly before, however now we had to set it toUseCookies to make the authentication work with IE11 as well.
The patch mentioned earlier was not installed on this server, and we have not seen similar issues on .NET 4.5.
By the way setting cookieless="UseCookies" explicitly is a good security practice.
原文地址:http://gyorgybalassy.wordpress.com/2013/09/23/aspnet-40-forms-authentication-issues-with-ie11/