0
저는 DefaultWebSite에서 작동하는 여러 응용 프로그램과 웹 서비스 중 하나로 IIS 7에서 설정된 웹 응용 프로그램을 작성했습니다. localhost에서 개발할 때 FormsAuthentication 쿠키가 지속됩니다. 그러나 서버에 게시 할 때 쿠키는 영구적이지 않습니다. SQLServer 세션을 사용하고 응용 프로그램 풀 재활용을 배제하기 위해 웹 구성에 유효성 검사 키가 있습니다. 나는 운이 없으면 잠시 동안 이것을 알아 내려고 노력했다 ... 도와주세요! 여기 양식 인증 쿠키가 서버에서 지속되지 않음 LocalHost에서 수행
아래 몇 가지 코드 :<forms name=".OPTFORMSTEST" loginUrl="~/Secure/Login.aspx" defaultUrl="~/Default.aspx" timeout="240" path="/" slidingExpiration="false" protection="All" />
Public Shared Function DoLogin(ByVal strUsername As String, ByVal isPersistent As Boolean)
Dim authTicket As FormsAuthenticationTicket
Dim authCookie As HttpCookie
Dim strUserData As String = strUsername
Dim intTimeoutPersist As Integer = 43200 '(30 days)
Dim intTimeoutNonPersist As Integer = 300 '(5 hours)
Dim intRtn As Integer = 1
Dim strCookiePath As String = Current.Request.Url.AbsolutePath.Remove(Current.Request.ApplicationPath.Length)
Try
'set cookie timout period and create auth ticket based on isPersistent
If isPersistent Then
'create a persistent ticket
authTicket = New FormsAuthenticationTicket(1, strUsername, _
DateTime.Now(), _
DateTime.Now.AddMinutes(intTimeoutPersist), _
True, strUserData)
Else
'create a temp ticket
authTicket = New FormsAuthenticationTicket(1, strUsername, _
DateTime.Now(), _
DateTime.Now.AddMinutes(intTimeoutNonPersist), _
False, strUserData)
End If
'create encrypted string for user data
Dim strEncr As String = FormsAuthentication.Encrypt(authTicket)
'create cookie
authCookie = New HttpCookie("OPTFORMSTEST", strEncr)
'set cookie expiration based on the auth ticket
If isPersistent Then
authCookie.Expires = authTicket.Expiration
End If
Current.Response.Cookies.Add(authCookie)
Catch ex As Exception
intRtn = -1
End Try
Return intRtn
End Function
FYI : Chrome에서이 '쿠키 수정'확장 프로그램을 사용하여 실제 쿠키를 확인할 수 있습니다. 만료를 확인하여 자세한 정보를 얻으십시오. – Mitul
LocalHost의 쿠키 만료 시간은 22/03/2013 12:58 PM (30 일)이지만 프로덕션 사이트의 쿠키는 26/02/2013 04:36 PM (로그인 시간에서 4 시간)에 만료됩니다. 4 시간은 web.config에 지정된 시간 초과 값과 일치합니다. 영구 만료가 무시되는 것 같습니다. – creativedave
생산 상자의 web.config 파일에 문제가있는 것 같습니다. web.config 변환을 사용하고 있습니까? web.debug.config 및 web.release.config와 같은 – Mitul