【问题标题】:How to set TimeOut for OwinContext in MVC 5如何在 MVC 5 中为 OwinContext 设置 TimeOut
【发布时间】:2014-05-21 14:33:21
【问题描述】:

当用户访问网站并输入他们存储在我们数据库中的凭据时,我们会创建身份验证。

你如何设置超时? 使用 MVC 5。

我的身份验证如下所示:

        var claims = new List<Claim>();
        claims.Add(new Claim("UserId", user.UserID.ToString()));
        claims.Add(new Claim(ClaimTypes.Name, user.FirstName + " " + user.LastName));
        claims.Add(new Claim(ClaimTypes.Email, user.Email));
        claims.Add(new Claim(ClaimTypes.NameIdentifier, user.UserID.ToString()));
        var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);

        var ctx = Request.GetOwinContext();
        var authenticationManager = ctx.Authentication;
        authenticationManager.SignIn(id); 

【问题讨论】:

    标签: asp.net asp.net-mvc claims-based-identity


    【解决方案1】:

    设置固定过期时间跨度的方法是在Startup.Auth.cs 文件中设置ExpireTimeSpan 属性,如下所示:

    // Enable the application to use a cookie to store information for the signed in user
    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString("/Account/Login"),
        ExpireTimeSpan = TimeSpan.FromDays(2)
    });
    

    请注意,您还必须将 cookie 设置为持久存在。在您的代码中,除了用户名和密码之外,您还必须传入一个布尔值,然后更改

    authenticationManager.SignIn(id); 
    

    成为

    authenticationManager.SignIn(new AuthenticationProperties { IsPersistent = rememberMe }, id); 
    

    【讨论】:

    • 工作,但只是一个更正: authenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, id);
    • 很高兴听到。请务必将问题标记为已回答。
    • 不幸的是,这对我不起作用,还有其他选择吗?
    【解决方案2】:

    有了以下就不需要使用 Startup.cs

    AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = true, ExpiresUtc = DateTime.UtcNow.AddHours(1), }, id);
    

    【讨论】:

    • 这对我有帮助,因为我的 TimeOut 对于不同的用户是不同的。
    猜你喜欢
    • 2014-08-16
    • 2022-12-05
    • 2013-12-05
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    相关资源
    最近更新 更多