2016-04-14 20 views
2

Bir ASP.NET vNext projesi üzerinde çalışıyoruz ve basit çerez tabanlı kimlik doğrulaması uyguluyoruz.Auth-Cookie ve (ASP.NET) Oturumu senkronizasyonda nasıl tutulur?

Kullanıcı kimlik doğrulamasının doğrulanması için auth-cookie özelliğini kullanmayı düşündük. Böyle yarattı:

HttpContext.Authentication.SignInAsync(); 

kullanıcı nesnesinin kendisi oturum cache (ISession) kaydedilir olacaktır.

  • Bu bir kişinin kullanabileceği bir uygulama mı, yoksa tamamen yanlış yoldan mı geçiyoruz?
  • Temel fikir doğruysa, auth-çerezini ve oturumu senkronize halde nasıl saklarız? (Oturum önbelleğindeki bir kullanıcı nesnesine sahip kimliği doğrulanmamış bir kullanıcı kötüydü)

Yalnızca kullanıcı nesnesinin oturumda saklanmaması gerektiğini unutmayın. Orada saklanması gereken bir sürü bilgi var (sadece kullanıcı doğrulanmışsa).

Girişiniz için teşekkürler!

+0

Herhangi bir ilerleme kaydettiniz mi? –

cevap

1

Gereksinimlerinizi düşünürsek, kullanıcı istekleri arasında kalmasını sağlamak ve kullanıcı hakkında hatırlamak istediğiniz ek bilgileri sürdürmek için Claims-based authorization'u kullanmak için Cookie middleware'u kullanmanız için bir seçenektir.

: Eğer örneğin bunun için böyle gerektiren iddiaları ayarlayabilirsiniz ConfigureServices sonra

  app.UseCookieAuthentication(options => 
     { 
      options.AuthenticationScheme = "Cookies"; 
      options.AutomaticAuthenticate = true; 
      options.AutomaticChallenge = true; 
      options.LoginPath = new PathString(@"/account/login"); 
      options.AccessDeniedPath = new PathString(@"/account/accessdenied"); 

     }); 

Ve:

Yani yapılandır yönteminde Başlangıç ​​sınıfında sizin gibi mesela çerez ortakatmanını eklersiniz

services.AddAuthorization(options => 
{ 
    options.AddPolicy("EmployeeOnly", policy => policy.RequireClaim("EmployeeNumber")); 
}); 

Lütfen bunun nasıl kurulacağı ile ilgili tüm belgelerin bağlantılarını dikkate alın.