ASP.NET l'Identité AuthenticationManager vs SignInManager et d'expiration du cookie
Quelle est la différence entre l'utilisation de AuthenticationManager SignIn par opposition à l'aide SignInManager PasswordSignIn/SignIn? J'ai une mise en œuvre à l'aide de la SignInManager et de mon expiration du cookie de 30 jours cependant, il semble que mon application web, de façon aléatoire, expire mes cookies bien avant 30 jours. En utilisant l'SignInManager mise en œuvre de la cause de cela? Dois-je utiliser l'AuthenticationManager mise en place?
La sortie de la boîte exemple de code montre des signes de ce genre, mais j'ai aussi vu d'autres exemples d'utilisation de AuthenticationManager mise en œuvre.
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
Voici ma configuration de démarrage.
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);
Vous devez vous connecter pour publier un commentaire.
Avant de la divulgation de l'identité du cadre de la version 2.1.0, nous devons écrire notre propre code afin d'obtenir des résultats (SignInStatus) pour l'authentification à Deux facteurs, le verrouillage de compte, EmailToBeConfirmed etc. Avec le SignInManager, cela a été simplifié et nous obtenons SignInStatus avec une seule ligne de code.
Vous pouvez comprendre cette vérification suivant les packages NuGet et compering deux version.
Version 2.0.0:
Install-Package Microsoft.AspNet.Identity.Samples -Version 2.0.0-beta1 -Pre
Version 2.1.0:
Install-Package Microsoft.AspNet.Identity.Samples -Pre
AuthenticationManager.SignIn
est le mécanisme à l'aide de derrière laSignInManager
afin de compléter l'utilisateur signIn processus, de sorte qu'il n'y a pas de différence entreAuthenticationManager.SignIn
etSignInManager.PasswordSignIn/SignIn
. Nous avons pu expliquerSignInManager
comme une classe d'assistance pour gérer tous les types d'authentification commePasswordSignIn
/SignIn
,SignInOrTwoFactor
.Donc d'expiration des cookies dépend pas de la méthode que vous avez utilisée pour signIn comme tous configurés dans le
CookieAuthenticationOptions
de démarrage.