ASP.NET标识 – 强制使用安全戳重新登录

因此,从 What is ASP.NET Identity’s IUserSecurityStampStore<TUser> interface?开始,我们了解到ASP.NET Identity具有安全标记功能,用于使用户登录cookie无效,并强制他们重新登录.

在我的MVC应用程序中,管理员可以归档用户.当拱形时,它们应该立即被注销并被迫再次登录(这将因为它们被存档而拒绝它们).

我怎样才能做到这一点?我知道安全标记是关键.认设置如下所示:

app.UseCookieAuthentication(new CookieAuthenticationoptions {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,LoginPath = new PathString("/Account/Login"),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(30),regenerateIdentity: (manager,user) => user.GenerateUserIdentityAsync(manager))
        }
    });

通过实验,如果我将validateInterval设置为1分钟,然后在数据库中手动破解用户安全标记,那么它们将被强制重新登录,但仅在该时间段过去之后.

有没有办法让这个瞬间,或者只是将间隔设置为一个低时间段并等待(或实现我自己的OnValidateIdentity检查每个请求)

谢谢

解决方法

您正确地说明了您的选项,低间隔/等待或挂钩您自己的自定义OnValidateIdentity.

这是一个类似的问题:Propagate role changes immediately

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....