2013-03-20 4 views
0

로그인 페이지에서 세션을 재생성하고 [ "xx"} = "yy"세션을 설정했습니다. 일부 변수에서. 홈 페이지로 리디렉션 한 후 세션 데이터가 손실됩니다. 누구나이 문제에 대해 말해 줄 수 있습니까? 다음은 세션 재생성을위한 코드입니다..net에서 세션 재생 후 세션 데이터가 손실되었습니다.

SessionIDManager manager = new SessionIDManager(); 
manager.RemoveSessionID(System.Web.HttpContext.Current); 
var newId = manager.CreateSessionID(System.Web.HttpContext.Current); 
var isRedirected = true; 
var isAdded = true; 
manager.SaveSessionID(System.Web.HttpContext.Current, newId, out isRedirected, out isAdded); 

답변

0

새 세션 ID를 만들고 설정하면 이전 세션이 새 세션 ID에서 작동하지 않습니다. 먼저 세션 쿠키를 삭제해야합니다. 그런 다음 로그인 페이지로 리디렉션하기 전에 새 세션 ID를 다시 만듭니다. 시도해 볼 수 있습니다.

Session.Abandon(); 
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); 
SessionIDManager manager = new SessionIDManager(); 
manager.RemoveSessionID(System.Web.HttpContext.Current); 
var newId = manager.CreateSessionID(System.Web.HttpContext.Current); 
var isRedirected = true; 
var isAdded = true; 
manager.SaveSessionID(System.Web.HttpContext.Current, newId, out isRedirected, out isAdded); 
Response.Redirect("Login page url"); 
관련 문제