Mam poniższy kod na stronie logowania. Używam tego, aby ustawić limit czasu logowania według klienta. W IE8 mam problem, że jeśli użytkownik otworzy inne okno przeglądarki, wyloguje się w pierwszym oknie, a po ponownym zalogowaniu się ponownie zostanie odesłany do loginu po pojedynczej stronie (za każdym razem). Jeśli nie otwierają innej przeglądarki, wszystko jest w porządku.Uwierzytelnianie formularzy IE8 i ASP.Net Pliki cookie kończą się niepowodzeniem podczas otwierania wielu przeglądarek.
Znalazłem mnóstwo pytań na ten temat, ale jedynym rozwiązaniem, które znalazłem działa, jest użycie metody Cookie (URI).
Widziałem kilka artykułów mówiących o ustawieniu domeny, co robię, ale to nie działa. Próbowałem również ustawić authticket na trwałe i nietrwałe. Żaden nie zrobił różnicy. Zauważyłem, że gdy plik cookie auth zniknie z folderu, nie zostanie odtworzony po zalogowaniu.
Jeśli otworzę to drugie okno przeglądarki jako "Nowa sesja", nie mam żadnych problemów. (Nie jest to praktyczne, ponieważ nie możemy przeszkolić każdego użytkownika aplikacji do otwierania dodatkowych okien w ten sposób.)
Czy istnieje jakiś poprawka dla tego, co ktoś stwierdził, że nie wymaga użycia podejścia URI bez gotowania?
int timeoutValue = 20 // This value is actually returned from a method;
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(LoginControl.UserName, false, timeoutValue);
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
authCookie.Domain = "my.domain";
authCookie.Expires = DateTime.Now.AddMinutes(timeoutValue);
HttpContext.Current.Response.Cookies.Add(authCookie);
wyjaśnić: użytkownik otwiera nowe okno przeglądarki z aplikacji? tj. kliknij prawym przyciskiem myszy> otwórz link w nowym oknie, zasadniczo przedłużając sesję do nowego okna? –
Tak, ale nie ma znaczenia, w jaki sposób otwierają drugie okno. Jeśli uruchomią nową przeglądarkę ze skrótu na pulpicie, nowa karta, kliknij prawym przyciskiem myszy. Jedynym sposobem, który nie powoduje problemu, jest "Plik ... Nowa sesja" – Mikejh99
Właściwie, pozwól mi to powtórzyć. Jeśli uruchomię przeglądarkę ze skrótu na pulpicie, nie mam problemu. Myślę, że ma to coś wspólnego ze sposobem uruchamiania IE, z -nomerge lub czymś w tym stylu. – Mikejh99