내가 인증 코드가 있습니다HttpContext.User.Identity는 언제 설정됩니까?
var authTicket = new FormsAuthenticationTicket(/*blahblah....*/);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(authTicket));
Response.Cookies.Add(cookie);
var name = HttpContext.User.Identity.Name; // line 4
디버그 문에 둬서을, 나는 4 호선 name
이 비어있는 것을 찾을 수 있습니다. 그러나 다음에이 브라우저 세션에서 전화를 걸면 HttpContext.User.Identity.Name
이 올바르게 설정됩니다.
언제이 값이 설정됩니까? 다음 회원을 사용하는 경우,
FormsAuthentication.Authenticate(name, password)
또는 : 당신 중 하나처럼 보이는 코드에서
그냥 왜 수동으로 쿠키를 만들고 응답을 FormsAuthentication.SetAuthCookie()? –
또한 Auth 쿠키를 설정하려는 경우 HttpContext에서 사용자 이름을 가져와야하는 이유가 궁금하십니까? 확실하게 인증 쿠키를 설정하려는 경우 -이 사람을 "로그인 한"것으로 설정한다고 말하면서 사용자 이름을 모르는 경우 어떻게 할 수 있습니까? –
@ 닉 - 이유는 이것이 일련의 발전된 최신 버전이기 때문에 여기에서 다시 확인할 수 있습니다. http://stackoverflow.com/q/6586156/7850 –