Frage

I'm using MVC3 and I use the following code to authenticate users:

        var host = HttpContext.Current.Request.Url.Host;
        Match match = Regex.Match(host, "([^.]+\\.[^.]{1,3}(\\.[^.]{1,3})?)$");
        string domain = match.Groups[1].Success ? match.Groups[1].Value : host;

        HttpCookie authcookie = FormsAuthentication.GetAuthCookie(userName, rememberMe);
        authcookie.Domain = domain;
        HttpContext.Current.Response.AppendCookie(authcookie);

        if (!string.IsNullOrEmpty(returnUrl))
            HttpContext.Current.Response.Redirect(returnUrl);

It works fine on Chrome, but I have a problem on IE11. IE sends old and new .ASPXAUTH cookies and asp fails to authenticate users:

enter image description here

Whats wrong with the code or the logic?

War es hilfreich?

Lösung

Your ASP.NET version is not up to date on the latest patches and doesn't recognize IE11 as a browser that supports cookies.

If you don't have any control over the server you can change the <forms ...> element in your web.config file and add cookieless="UseCookies" to it.

More info about the patches on Scott Hanselman's blog.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top