2015-10-06 17 views
8

Tôi muốn người dùng chọn tùy chọn "nhớ tôi" để duy trì trạng thái đăng nhập vào trang web của mình trong một thời gian dài (ví dụ: 3 tháng hoặc cho đến khi họ xóa cookie). Hiện tại tôi phải đăng nhập lại sau mỗi 20 phút.Giữ người dùng đăng nhập vào trang web ASP.NET 5 trong thời gian dài

Tôi đang sử dụng ASP.NET 5/vnext/mvc 6 (beta 7). Trang web của tôi dựa trên studio trực quan mã tạo thành một dự án mẫu. Tôi biết các câu hỏi khác hỏi một điều tương tự, nhưng tôi không thấy nó được áp dụng như thế nào trong ASP.NET mới.

tôi có mã này trong phương pháp Startup.ConfigureServices tôi, nhưng nó dường như không có tác dụng:

services.ConfigureIdentityApplicationCookie(options => 
    {    
     options.ExpireTimeSpan = TimeSpan.FromDays(90); 
     options.SlidingExpiration = true; 
     options.AutomaticAuthentication = true; 
     options.LoginPath = new PathString("/Account/Login"); 
     options.LogoutPath = new PathString("/Account/LogOff"); 
    }); 

nhờ

EDIT

Sử dụng cáy, phản ứng từ đăng nhập có chứa dữ liệu cookie này:

Respo NSE gửi 642 byte dữ liệu Cookie: Set-Cookie: .AspNet.Microsoft.AspNet.Identity.Application = CfDJ8P8cKnxL87ZMjh0duvm7eKbBbA_vf1ECr95KgPd4MNsKBj0_SljMLWLPNzNFIr4PQTG1ZjVyQ7cfFMEehcI5JZrOlVVHfZ_SD29jN1vdhsdUMPTysvhvo6RlnDHq5YwFdnTNqw-_ia4cGWk8Iw05PJHsQ0mws_e0DzWpX088kysJuU0LcNoyPA22nyMoGrK1RP1Bax_XwixdO6jLQx164lqRqVYi6ys3VVPJP0aLOg3w4CovxcAemgMQEhAcNUdP6Q0rnBmfBn7FZR_kNEgXoiMkNNgBDwUuVyiweU3fw5rzE-mmBPo2IYBJWRoaSzNLcUV5gSTpDT2n8IMh4nPlTzGrFIUgCpHDhpmXJJ3EneC5i-eVaLGeQG1FAIBZZ-oNlolwdkXi63bXpHuRME9cnYLTm3cDpfooXKq0_Rn7ls4lN-wCF5kGvz6ALruUaPWNERvcKlccix7o3B_-rj1q5yhn1bKO2vumArRaq-QpHb2djaN84IdFBOw1CSJLpeQKeP3qrdJD8-GYl6chvbJ4FbA; hết hạn = Thứ Hai, ngày 4 tháng 1 năm 2016 10:40:35 GMT; path = /; httponly

Bạn có thể thấy vào cuối thời gian hết hạn là 90 ngày, điều đó là chính xác, nhưng nó vẫn sẽ đăng xuất tôi trong 20 phút hoặc lâu hơn.

+2

Bạn đã từng sử dụng [fiddler] (http://www.telerik.com/fiddler) chưa? Điều này sẽ cho bạn biết phản hồi từ trang của bạn và cách cookie được trả lại cho khách hàng và cũng là những gì bạn đang gửi đến ứng dụng. Điều này có thể giúp bạn chẩn đoán những gì đang xảy ra. –

+0

Bạn thực sự đang lưu cookie cho khách hàng như thế nào? –

+0

Phil, tôi đã không sử dụng fiddler, tôi sẽ cho nó một đi, cảm ơn. – MartinR

Trả lời

-2

Bạn có thể thêm cookies vào bộ sưu tập Cookie theo một số cách. Ví dụ sau cho thấy hai phương pháp để ghi cookie:

Response.Cookies["userName"].Value = "patrick"; 
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1); 

HttpCookie aCookie = new HttpCookie("lastVisit"); 
aCookie.Value = DateTime.Now.ToString(); 
aCookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(aCookie); 
Các vấn đề liên quan