2014-10-15 19 views
26

SignInManager PasswordSignIn/SignIn? Kullanılmasının aksine AuthenticationManager SignIn kullanımı arasındaki fark nedir? SignInManager'ı kullanarak bir uygulamam var ve çerez son kullanma tarihini 30 güne ayarladım, ancak web uygulamamın 30 gün öncesine kadar benim çerezlerimi rastgele kullanması bekleniyor. SignInManager uygulamasını kullanmak bunun sebebi olur mu? Bunun yerine AuthenticationManager uygulamasını kullanmalı mıyım?ASP.NET Kimlik DoğrulamasıManager ve SignInManager ve tanımlama bilgisinin sona ermesi

Örnek kod örneğinin dışında bu şekilde oturum açma gösteriliyor, ancak AuthenticationManager uygulamasının kullanıldığı başka örnekler de gördüm.

var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); 

İşte başlangıç ​​yapılandırmam.

kimlik çerçevesi 2.1.0 sürümü yayımlanmasından önce
  app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
      ExpireTimeSpan = TimeSpan.FromDays(30), 
      LoginPath = new PathString("/signin"), 
      Provider = new CookieAuthenticationProvider 
      { 
       OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<AppUserManager, AppUser>(
        validateInterval: TimeSpan.FromMinutes(30), 
        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) 
      } 
     }); 
     app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); 
     app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); 
     app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); 

cevap

28

, biz İki Faktör kimlik doğrulama için sonuçlar (SignInStatus) elde etmek için kendi kod yazmak zorunda lokavt hesap SignInManager ile vb EmailToBeConfirmed bu vardır basitleştirildi ve bir satır kodla SignInStatus'u aldık.

Bunu, NuGet paketlerini takip edip iki sürümü derleyerek kontrol edebilirsiniz.

Versiyon 2.0.0: Install-Package Microsoft.AspNet.Identity.Samples -Version 2.0.0-beta1 -Pre

Versiyon 2.1.0: ki Install-Package Microsoft.AspNet.Identity.Samples -Pre

AuthenticationManager.SignIn kullanıcının oturum açma işlemini tamamlamak amacıyla SignInManager arkasında kullanılarak mekanizmasıdır, AuthenticationManager.SignIn arasında herhangi bir fark olmadığı ve SignInManager.PasswordSignIn/SignIn. PasswordSignIn/SignIn, SignInOrTwoFactor gibi tüm kimlik doğrulama türlerini yönetmek için bir yardımcı sınıf olarak SignInManager açıklayabiliriz.

Bu nedenle tanımlama bilgilerinin sona ermesi, başlangıç ​​olarak CookieAuthenticationOptions'da yapılandırılmış olarak tüm oturum açmada kullandığınız yönteme bağlı değildir.

+0

Çerezlerimin neden zamanından önce kullanım süresinin dolduğunu anlamaya karar vermeniz için teşekkür ederiz. –

İlgili konular