2015-03-31 13 views
6

Chúng tôi có một ứng dụng ASP.NET MVC 5 bằng cách sử dụng OWIN Cookie Authentication với thời gian hết hạn trượt. Trên máy khách, chúng tôi có một kịch bản thăm dò ý kiến ​​một dịch vụ web mỗi phút cho các thông báo. Chúng tôi muốn ngăn chặn cuộc gọi dịch vụ web đó gây ra hết hạn mã thông báo xác thực từ trượt về phía trước. Có cách nào để làm điều đó?Bạn có thể định cấu hình Xác thực cookie OWIN để ngăn một số URL nhất định ảnh hưởng đến thời gian hết hạn trượt không?

Tôi đã cân nhắc triển khai phương pháp hết hạn tùy chỉnh trượt của riêng mình trong trình xử lý OnValidateIdentity, nhưng thiết lập ExpiresUtc trong phương thức đó dường như không ảnh hưởng đến ngày hết hạn của mã thông báo.

app.UseCookieAuthentication(new CookieAuthenticationOptions 
{ 
    Provider = new CookieAuthenticationProvider 
    { 
     OnValidateIdentity = cookieValidateIdentityContext => 
     { 
      cookieValidateIdentityContext.Properties.ExpiresUtc = DateTime.UtcNow.AddMinutes(-1); 
      return Task.FromResult(0); 
     } 
    }, 

    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
    AuthenticationMode = AuthenticationMode.Active, 
    LoginPath = new PathString("/"), 
    SlidingExpiration = false, 
    LogoutPath = new PathString("/Sessions/Logout") 
}); 

Bất kỳ trợ giúp nào được đánh giá cao!

Trả lời

0

tôi đã không kiểm tra này, nhưng nó phải làm việc trong lý thuyết:

app.Use("/path1", app2 => app2.UseCookieAuthentication(...)); 
app.Use("/path2", app3 => app3.UseCookieAuthentication(...)); 
app.UseCookieAuthentication(...); 

Trật tự của các Use cuộc gọi là rất quan trọng. Điều tuyệt vời về Owin là khả năng ghi đè mọi hành vi trên đường phụ.

+0

bạn có nghĩa là 'app.Map ("/path1 ", ...)'? – mlhDev

+0

Điều tương tự gần như: https://stackoverflow.com/questions/35559763/owin-app-use-vs-app-run-vs-app-map – Brannon

Các vấn đề liên quan