Sam*_*Sam 5 asp.net authentication cookies asp.net-identity
当我设置ASP.net身份并禁用双因素身份验证时,一切似乎都按计划运行.但是,当我启用双因素身份验证时,我注意到以下不一致:
1)如果未选中"记住我"和"记住此浏览器",则会将身份验证cookie创建为会话cookie,并且不会创建记住浏览器cookie.这按预期工作.
2)如果选中"记住我"并取消选中"记住此浏览器",则会将身份验证cookie创建为存储的cookie,并且不会创建记住浏览器cookie.这按预期工作.
3)如果未选中"记住我",并选中"记住此浏览器",则两个cookie都将创建为会话cookie.这不能按预期工作.我希望"记住这个浏览器"来创建一个存储的cookie.关闭浏览器后,您必须在下次登录时使用验证码.
4)如果检查这两个"记住我"和"记住这个浏览器",将创建两个饼干如用2周(或指定的值的期满存储的cookie CookieAuthenticationOptions
中Startup.Auth.cs
).我希望能够独立于用户身份验证cookie设置浏览器cookie过期.
5)我尝试使用以下代码在VerifyCode
操作中为浏览器cookie手动设置更长的到期超时AccountController
:
if (model.RememberBrowser)
{
var user = await UserManager.FindByIdAsync(await SignInManager.GetVerifiedUserIdAsync());
var rememberBrowserIdentity = AuthenticationManager.CreateTwoFactorRememberBrowserIdentity(user.Id.ToString());
AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTime.UtcNow.AddDays(365) }, rememberBrowserIdentity);
}
Run Code Online (Sandbox Code Playgroud)
这导致身份验证cookie和两个因素记住计算机cookie具有1年的到期日期.我原本期望身份验证cookie尊重配置中的值,并且记住浏览器cookie将在1年后到期.如果您注销并重新登录,则身份验证cookie会正确使用配置中的值.
有没有办法在ASP.net身份或任何解决方案中独立配置这些cookie过期?
归档时间: |
|
查看次数: |
607 次 |
最近记录: |