Jak ręcznie usunąć plik cookie, który został ustawiony przez subdomenę do uwierzytelniania asp.net?ręcznie usuń pliki cookie uwierzytelniania asp.net
Plik cookie ustawiono na setter.test.com
;
<authentication mode="Forms">
<forms domain="test.com" loginUrl="Default.aspx" protection="All" path="/" requireSSL="false" timeout="45" name=".ASPXAUTH" slidingExpiration="true" defaultUrl="Default.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
W mojej aplikacji na getter.test.com
, to jest mój kod do logowania się (usunięcie tego ciasteczko):
public ActionResult LogOut()
{
//Manually remove the cookie created by 3rd party authentication
if (Request.Cookies[".ASPXAUTH"] != null)
{
HttpCookie myCookie = new HttpCookie(".ASPXAUTH");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
}
To nie działa.
Co jeśli nie mogę twardego kodeksu domena najwyższego poziomu? –
Musisz albo odczytać go z konfiguracji, albo określić w jakiś sposób. MUSISZ go mieć, możesz go pobrać z pliku cookie żądania ... –
Per [RFC 6265] (http://www.rfc-editor.org/rfc/rfc6265.txt) Sekcja 4.2.2: " Zwróć uwagę, że atrybuty plików cookie nie są zwracane. W szczególności serwer nie może określić z samego nagłówka pliku cookie, kiedy ciasteczko wygaśnie, dla którego hosta jest ważny plik cookie, dla których ścieżek plik cookie jest ważny lub czy plik cookie został ustawiony z atrybuty Secure lub HttpOnly. " – HABO