2012-07-20 71 views
5

Tôi đã tạo xác thực tùy chỉnh của mình. Bây giờ tôi muốn vô hiệu hóa bộ nhớ cache của broswer trên nút log off. Tôi nên làm như thế nào? Tôi nên bao gồm những gì trong hành động đăng xuất?Làm thế nào để vô hiệu hóa bộ nhớ cache của trình duyệt trong asp.net mvc 3?

Tôi sau: http://www.bradygaster.com/custom-authentication-with-mvc-3.0

+0

Bạn chỉ cần xóa các cookie phiên –

+0

tôi có thể xóa cookie phiên nhưng làm thế nào tôi có thể vô hiệu hóa cachewerwer/xóa lịch sử bộ nhớ cache trên nút đăng xuất được nhấn – kiransh

Trả lời

19

là mối quan tâm của bạn trình duyệt lại nút sau khi đăng nhập tắt?

Nếu có, thì bạn không nên tắt bộ nhớ cache khi đăng xuất. Bạn nên vô hiệu hóa nó trên tất cả các trang mà bạn không muốn được lưu trữ trong trường hợp của bạn sẽ là tất cả các trang authentciated.

Điều này có thể được thực hiện bằng cách viết một bộ lọc hành động tùy chỉnh:

public class NoCacheAttribute : ActionFilterAttribute 
{ 
    public override void OnResultExecuting(ResultExecutingContext filterContext) 
    { 
     var response = filterContext.HttpContext.Response; 
     response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); 
     response.Cache.SetValidUntilExpires(false); 
     response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); 
     response.Cache.SetCacheability(HttpCacheability.NoCache); 
     response.Cache.SetNoStore(); 
    } 
} 

và sau đó trang trí hành động của bạn với nó:

[Authorize] 
[NoCache] 
public ActionResult Foo() 
{ 
    ... 
} 
Các vấn đề liên quan