ASP.NET身份使电子邮件/密码令牌永不过期

时间:2015-03-02 14:58:15

标签: asp.net asp.net-identity

我知道这没有多大意义,但是我的客户要求制作的令牌永远不会过期。

我做了一些研究,发现我可以指定TokenLifespan的持续时间,所以我的第一个想法是让持续时间超长,从而使令牌看起来“永不过期”

var dataProtectionProvider = options.DataProtectionProvider;
        if (dataProtectionProvider != null)
        {
            manager.UserTokenProvider = 
                new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"))
                {
                    TokenLifespan = TimeSpan.FromHours(2160)
                };
        }

但是,无论我为TokenLifespan设置什么,令牌仍会在3天后过期。

我做了一个测试,比如1天或2天,他们工作得很好,但由于某些原因,它不能超过3天。到底发生了什么?

1 个答案:

答案 0 :(得分:-1)

看看http://www.codeproject.com/Articles/762428/ASP-NET-MVC-and-Identity-Understanding-the-Basics

您不应该在登录部分

上定义令牌持久性
AuthenticationManager.SignIn(
            new AuthenticationProperties { IsPersistent = isPersistent }, 
            userIdentity, 
            rememberBrowserIdentity);