tôi có mã xác thực:Khi nào HttpContext.User.Identity được đặt?
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
Bằng cách đưa vào báo cáo gỡ lỗi, tôi thấy rằng name
trên dòng 4 là sản phẩm nào. Nhưng lần sau khi tôi thực hiện cuộc gọi trên phiên trình duyệt này, HttpContext.User.Identity.Name
được đặt chính xác.
Vậy khi nào giá trị này được đặt?
chỉ cần tự hỏi tại sao bạn sẽ tạo cookie theo cách thủ công và thêm nó vào phản hồi thay vì chỉ gọi: FormsAuthentication.SetAuthCookie()? –
Cũng tự hỏi tại sao bạn cần phải lấy tên người dùng từ HttpContext nếu bạn sắp đặt một cookie Auth? Chắc chắn nếu bạn sắp đặt cookie Auth - bạn đang nói rằng bạn muốn đặt người này là "đã đăng nhập" - bạn có thể làm điều đó như thế nào nếu bạn chưa biết tên người dùng của họ? –
@Nick - lý do là bởi vì đây là mới nhất trong một loạt các phát triển, bạn có thể theo dõi lại từ đây: http://stackoverflow.com/q/6586156/7850 –