MSDN says을 사용하여 수동으로 티켓을 만들 수 있습니다
LoggedIn 이벤트가 인증 공급자를 확인 후 발생 사용자의 자격 증명과 인증 쿠키가 에 대기하고 다음에 응답으로 브라우저에 보냅니다. LoggedIn 이벤트를 사용하여 사용자가 인증 된 후 사용자 별 데이터에 액세스하는 등 추가 처리를 제공합니다.
따라서이 이벤트는 쿠키를 대체 할 적절한 장소 인 것으로 보입니다. 첫째, 쿠키 필요성을 검색하고 암호를 해독 할 수 있습니다 :
HttpCookie authCookie = Response.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket oldAuthTicket =
FormsAuthentication.Decrypt(authCookie.Value);
바로이 후, 바로 추출을 기반으로 새로운 인증 티켓을 생성해야합니다
여기
FormsAuthenticationTicket newAuthTicket = new FormsAuthenticationTicket(
oldAuthTicket.Version,
oldAuthTicket.Name,
DateTime.Now,
DateTime.Now.Add(timeoutForUser),
oldAuthTicket.IsPersistent,
oldAuthTicket.UserData,
FormsAuthentication.FormsCookiePath
);
timeoutForUser
가를 보유하고 TimeSpan
값 사용자에 대한 세션 시간 초과.
그리고는 마지막으로 응답 기존의 쿠키는 새 것으로 교체해야합니다
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
authCookie =
new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
HttpContext.Current.Response.Cookies.Set(authCookie);
이 트릭을 할해야합니다.
감사합니다. 그것은 완벽하게 작동했습니다. 너 다 남자 야! –