加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-5 – aspnet身份避免同时登录同一帐户

发布时间:2020-12-16 04:11:43 所属栏目:asp.Net 来源:网络整理
导读:我正在搜索,但我找不到这个问题的答案:aspnet身份提供了一种避免同时从同一帐户登录的方法吗? 解决方法 身份没有内置的方式来跟踪同时登录,但您可以进行解决方法:每次用户登录时,在设置auth-cookie之前,通过等待userManager.UpdateSecurityStampAsync(use
我正在搜索,但我找不到这个问题的答案:aspnet身份提供了一种避免同时从同一帐户登录的方法吗?

解决方法

身份没有内置的方式来跟踪同时登录,但您可以进行解决方法:每次用户登录时,在设置auth-cookie之前,通过等待userManager.UpdateSecurityStampAsync(user.Id)来更改用户的SecurityStamp;

并确保在Startup.Auth.cs中包含此部分:

app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            Provider = new CookieAuthenticationProvider
            {
                // Enables the application to validate the security stamp when the user logs in.
                // This is a security feature which is used when you change a password or add an external login to your account.  
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager,ApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(5),regenerateIdentity: (manager,user) => user.GenerateUserIdentityAsync(manager))
            }
        });

这样,每次用户登录时,所有其他会话都将失效,因为用户的SecurityStamp已更改.并且validateInterval值足够低,因此其他auth-cookies可以很快失效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读