У меня действительно очень серьезная проблема, когда, несмотря ни на что, пользователь выходит из системы через 10 минут.
Я использую ASP.Net 2.0 на IIS 6.0 на Server 2003 R2 Standard Edition, работающем как виртуальный сервер со всеми применимыми обновлениями и .Net 3.5 SP1.
Клиент Internet Explorer 7.0
Ниже приведены настройки web.config:
<!-- Authentication Mode -->
<authentication mode="Forms">
<forms name=".RecipeViewer" timeout="240" />
</authentication>
Ниже приведен код, используемый для установки файла авторизации:
Private Sub SetCookie(userName)
' Use security system to set the UserID within a client-side Cookie
Dim ticket As New FormsAuthenticationTicket(1,userName, DateTime.Now, DateTime.Now.Add(Me.GetFormsAuthSettings.Forms.Timeout), True, String.Empty, FormsAuthentication.FormsCookiePath)
Dim hash As String = FormsAuthentication.Encrypt(ticket)
Dim cookie As New HttpCookie(FormsAuthentication.FormsCookieName, hash)
cookie.HttpOnly = True
If (ticket.IsPersistent) Then
cookie.Expires = ticket.Expiration
End If
Response.Cookies.Add(cookie)
' Redirect browser back to originating page
Response.Redirect(Request.ApplicationPath)
End Sub
Private Function GetFormsAuthSettings() As System.Web.Configuration.AuthenticationSection
Return DirectCast(System.Configuration.ConfigurationManager.GetSection("system.web/authentication"), System.Web.Configuration.AuthenticationSection)
End Function
Ранее я использовал FormsAuthentication.SetAuthCookie, а также даже пытался использовать методы FormsAuthentication.RedirectFromLoginPage, но оба они имели один и тот же результат, поэтому я в итоге выполнил реализацию жесткого cookie, которая выполняется внутри (через просмотр в Reflector) ) что делает класс FormsAuthentication.
Проблема в том, что НЕ воспроизводится в среде размещения Visual Studio 2008 asp.net или в IIS 7.0.
РЕДАКТИРОВАТЬ : файлы cookie включены, даже размещенный сайт был добавлен в качестве надежного сайта.
РЕДАКТИРОВАТЬ : Google Chrome и Firefox не имеют этой проблемы.
РЕДАКТИРОВАТЬ : срок действия проверенных файлов cookie на целевом компьютере истекает через 4 часа в соответствии с настройкой (время ожидания = 240 минут).
РЕДАКТИРОВАТЬ : Как говорит Хаус, все лгут. Пользователь на самом деле не тестировал новую кодовую базу и исходил из предвзятого мнения, что программное обеспечение все еще не работает. Спасибо всем, кто ответил в этой теме.
Не закрывайте это для более неактуального, но держите его, чтобы помочь людям решить проблему, поскольку в этом вопросе есть некоторые действительно хорошие методы устранения неполадок.