http://msdn.microsoft.com/en-us/library/ms178586(v=vs.100).aspx
я действительно очень серьезная проблема: когда бы я ни пытался, пользователь выходит из системы через 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.
РЕДАКТИРОВАТЬ: Cookies включены, даже размещенный сайт был добавлен как надежный сайт.
РЕДАКТИРОВАТЬ: Google Chrome и Firefox не имеют этой проблемы.
РЕДАКТИРОВАТЬ: Проверенный файл cookie на целевом компьютере истекает через 4 часа в соответствии с настройкой (время ожидания = 240 минут).
РЕДАКТИРОВАТЬХаус говорит, что все лгут. Пользователь на самом деле не тестировал новую кодовую базу и исходил из предвзятого мнения, что программное обеспечение все еще не работает. Спасибо всем, кто ответил в этой теме.
Не закрывайте это для более неактуального, но держите это, чтобы помочь людям решить проблему, поскольку в этом вопросе есть некоторые действительно хорошие методы устранения проблем.