Authentication 控制cookie生存期的三个属性中,哪一个优先?

Authentication 控制cookie生存期的三个属性中,哪一个优先?,authentication,asp.net-mvc-5,asp.net-identity,Authentication,Asp.net Mvc 5,Asp.net Identity,通过将AuthenticationProperties.IsPersistent设置为true,我们可以使身份验证cookie持久化,因此用户在启动新会话时不必再次进行身份验证 CookieAuthenticationOptions.ExpireTimeSpans控制cookie的有效期 AuthenticationProperties.ExpiresUtc设置身份验证的过期日期 a)我不确定“认证到期日”是什么意思。也许上面的引语是说,ExpiresUtc控制在再次要求用户登录之前,身份验证c

通过将
AuthenticationProperties.IsPersistent
设置为true,我们可以使身份验证cookie持久化,因此用户在启动新会话时不必再次进行身份验证

CookieAuthenticationOptions.ExpireTimeSpans
控制cookie的有效期

AuthenticationProperties.ExpiresUtc
设置身份验证的过期日期

a)我不确定“认证到期日”是什么意思。也许上面的引语是说,
ExpiresUtc
控制在再次要求用户登录之前,身份验证cookie可用于身份验证的时间

b)如果我在a)中的假设是正确的,那么当达到
expireEUTC
时,cookie将过期,即使:

  • ispersist==true

  • 会话尚未过期,请重试

  • cookie尚未超过
    ExpireTimeSpan
    设置的寿命

c)如果
IsPersistent
设置为
false
,则一旦会话过期,cookie将不再有效,即使:

  • cookie尚未超过
    ExpireTimeSpan
    设置的寿命,并且

  • 身份验证尚未达到
    expireEUTC
    设置的寿命

d)当cookie超过ExpireTimeSpan设置的寿命时,cookie不再有效,即使:

  • ispersist==true

  • 会话尚未过期,请重试

  • 身份验证尚未达到
    expireEUTC
    设置的寿命


谢谢

对于Identity Framework,有一个属性ExpireTimeSpan,它建议cookie的生存时间。根据以下示例,cookie将在24小时后失效

    public static void ConfigureOAuthSettings(IAppBuilder app)
    {
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            SlidingExpiration = false,
            ExpireTimeSpan = TimeSpan.FromHours(24)
        });}

如果要获取更详细的代码,请访问如果
AuthenticationProperties.IsPersistent
为false

  • cookie过期设置为会话
  • 忽略CookieAuthenticationOptions.ExpireTimeSpans
  • 忽略身份验证属性。过期UTC
否则

如果没有
AuthenticationProperties.ExpiresUtc
set

  • cookie过期设置为
    CookieAuthenticationOptions.ExpireTimeSpans
    ,默认为
如果设置了
authenticationProperties.ExpiresUtc

  • cookie过期设置为该值
  • 忽略CookieAuthenticationOptions.ExpireTimeSpans

考虑到问题的细节,几乎没有足够的信息。