Не удается прочитать/записать один и тот же файл cookie для URL-адресов с www и без него в chrome.
Пусть мой сайт будет mysite.com. После того, как пользователи вошли в систему mysite.com а потом попробуй навестить www.mysite.com они должны войти снова. Каким-то образом url-адрес рассматривается по-разному с www и без него.
Как я могу читать/писать один и тот же файл cookie для URL-адресов с www и без него?
Чтобы решить эту проблему, я установил домен моего файла cookie как ".mysite.com"
В Internet Explorer, когда я войти в систему, чтобы www.mysite.com я тоже вошел в mysite.com. Однако он не работает на Chrome.
Что я сделал:
* Установите домен файла cookie как .mysite.com (он был успешно создан)
* Дал имя файлу Cookie, отличному от AUTHASPX.
Я написал следующий код:
<br /> FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(<br /> 2, <br /> username, <br /> DateTime.Now, <br /> rememberMe ? DateTime.Now.AddYears(1) : DateTime.Now.AddHours(1), <br /> rememberMe, <br /> loginKey, <br /> FormsAuthentication.FormsCookiePath); <br /> <br /> // Encrypt the ticket using the machine key<br /> string encryptedTicket = FormsAuthentication.Encrypt(authTicket);<br /> <br /> // Add the cookie to the request to save it<br /> HttpCookie authCookie = new HttpCookie("CookieName", encryptedTicket);<br /> authCookie.HttpOnly = true;<br /> authCookie.Expires = rememberMe ? authTicket.Expiration : DateTime.Now.AddHours(1);<br /> authCookie.Domain = ".mysite.com";<br /> <br /> response.Cookies.Add(authCookie);<br /> <br />
Аутентификация осуществляется с помощью следующего кода:
<br /> HttpCookie authCookie = Context.Request.Cookies.Get("CookieName");<br /> if (authCookie == null || string.IsNullOrEmpty(authCookie.Value))<br /> {<br /> LogoutAndRedirectToLogin();<br /> return;<br /> }<br /> <br /> FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);<br /> if (authTicket == null)<br /> {<br /> LogoutAndRedirectToLogin();<br /> return;<br /> }<br /> <br /> string loginKey = authTicket.UserData;</pre><br />
Что я уже пробовал:
Установите домен файла cookie как .mysite.com (он был успешно создан)
Дал имя куки, отличное от AUTHASPX.