2014-01-07 3 views
0

쿠키를 만들어야합니다.이 쿠키는 User1 (이 사용자 만)이라는 사용자가 웹 사이트를 열 때마다 보내거나 읽습니다. 그것은 User1이 로그인 한 후에 브라우저를 닫을 때에도 그를 다시 로그 아웃해서는 안됩니다. (브라우저와 사이트를 다시 열면 그는 여전히 로그인되어 있어야합니다.) 아무도 내가 어떻게 할 수 있는지 알고 있습니까? 이 사실에 대해 논평 한 코드를 주면 정말 감사 할 것입니다. 나는이 모든 것에 그다지 익숙하지 않고 여러분이 한 것을 이해하고 싶습니다.특별한 사용자가 쿠키를 보내면

쿠키가 필요합니다. 내부 웹 응용 프로그램에 대해 당신이 해결책처럼 "나를 기억"에 대해 생각하는 경우 해당 암호가. 암호화 할 필요가 manditory되지 않도록.

(언어 영문 및 VB 수 있습니다.)

감사 in advance

답변

0

웹 사이트에 액세스 한 사용자를 감지하는 것은 내가 이미 알고있는 것으로 가정 할 것이므로이 내용을 더 이상 검토하지 않을 것입니다. 사용자를 식별하고 사용자 정의 쿠키를 보내면 만료 날짜와 시간이 유효한 쿠키 시간 제한을 설정합니다. 쿠키를 무시할 수도있는 만료일을 미래의 미래로 설정할 수 있지만 일부 오래된 브라우저는 쿠키가 개인 정보 취급 방침 설정을 요구합니다 (Create a compact privacy policy 참조). 아래 예제에서 코드 DateTime.Now.AddMinutes(30)은 만료일을 정의합니다. 즉 만료 날짜를 정의합니다. 즉, 미래에 잘 설정해야하는 비트입니다.

폼 인증 티켓 객체가 아니라 여기에 설명되어 있습니다 : http://support.microsoft.com/kb/910443

Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _ 
      UserName, _ 
      DateTime.Now, _ 
      DateTime.Now.AddMinutes(30), _ 
      False, _ 
      "", _ 
      FormsAuthentication.FormsCookiePath) 

      ' Encrypt the ticket. 
      Dim encTicket As String = FormsAuthentication.Encrypt(ticket) 

      ' Create the cookie. 
      HttpContext.Current.Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket)) 
1

ASP.NET 멤버십 시스템을 사용하는 경우 현재 사용자의 사용자 이름은 Membership.GetUser().UserName (herehere 참조)이므로 쉽게 확인할 수 있습니다. 페이지의 모든 경로에 로그인이 필요하지 않으면 현재 사용자가 없을 수 있습니다.

쿠키를 설정하려면 Response.Cookies 컬렉션에 쿠키를 추가하십시오.

편집 : 또한 사용자가 로그 아웃 할 때 문제가 발생하지 않도록하려면 특정 사용자가 Response.Cookies에서 특수 쿠키를 명시 적으로 제거하십시오.

관련 문제