O MK benziyor. yanıt, SlidingExpiration
seçeneği kullanıldığında jeton yenilemenin doğru şekilde ele alınmasına izin vermez. Bir geçici çözüm olarak, özel bir çerez sağlayıcısı yerine, özel bir çerez yöneticisi sağlayabileceğiniz ve tanımlama bilgisi eklemek/çıkarmak için kendi yöntemlerinizi tanımlayabileceğiniz anlaşılır.
Durumumda bunu basitleştirmek için, başlık altındaki varsayılan çerez yöneticisini tekrar kullanıyorum. (Ben onun yöntemleri geçersiz kılınabilir değildir, bunu uzatmak olamaz.) İşte
ben ile sona erdi kodudur:
using Microsoft.AspNet.Identity;
using Microsoft.Owin;
using Microsoft.Owin.Infrastructure;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.DataProtection;
using Owin;
public class Startup
{
public void Configuration(IAppBuilder app)
{
var options = new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
SlidingExpiration = true,
CookieManager = new CustomCookieManager()
};
app.UseCookieAuthentication(options);
}
}
public class CustomCookieManager : ICookieManager
{
private readonly ICookieManager ConcreteManager;
public CustomCookieManager()
{
ConcreteManager = new ChunkingCookieManager();
}
string ICookieManager.GetRequestCookie(IOwinContext context, string key)
{
return ConcreteManager.GetRequestCookie(context, key);
}
void ICookieManager.AppendResponseCookie(IOwinContext context, string key, string value, CookieOptions options)
{
SetupDomain(context, options);
ConcreteManager.AppendResponseCookie(context, key, value, options);
}
void ICookieManager.DeleteCookie(IOwinContext context, string key, CookieOptions options)
{
SetupDomain(context, options);
ConcreteManager.DeleteCookie(context, key, options);
}
private void SetupDomain(IOwinContext context, CookieOptions options)
{
// custom logic for assigning something to options.Domain
}
}
Belirtilen kod, Owin 3.0.0-beta2-30422-012-dev tabanlıdır, daha eski bir sürümü kullanıyorsanız değiştirmeniz gerekebilir. –
Bunu denedim ama SignOut'un çalışmayı durdurduğunu gördüm. Düşüncesi olan var mı? –
Net, beni aldatmasın. "CookieOptions" özelliğini bulamazsanız, bunun yerine bir 'Seçenekler 'özelliği bulursanız, kullanmayı deneyin, bu yanıt üzerinde yazım hatası olduğuna inanmayın. Durum böyle değil. CookieOptions özelliği yoksa, Microsoft.Owin.Security.Cookies başvurunuzu güncelleştirmeniz gerekir.'Seçenekler' özelliğine yapılan doğrudan değişiklikler, sonraki istekler için yönetici seçeneklerini değiştirdiğinden hatalara yol açar, ancak geçerli olanı değil! "CookieOptions" özelliğindeki değişiklikler geçerli istek ve yalnızca bunun için geçerlidir. –