如何在ASP.NET Core Identity中注销其他用户
如何在ASP.NET Core Identity中注销另一个用户(不是当前记录的用户)。
我知道SignOutAsync()
有一个SignOutAsync()
方法,但似乎没有覆盖接受用户作为参数。 我正在寻找类似的东西:
signInManager.SignOutAsync(user);
首先更新该用户的安全标记:
await userManager.UpdateSecurityStampAsync(user)
然后,在SecurityStampValidationInterval
到达之前,该用户将不会注意到这些更改。 因此,立即注销将其设置Zero
:
services.AddIdentity(identityOptions => { // enables immediate logout, after updating the user's stat. identityOptions.SecurityStampValidationInterval = TimeSpan.Zero; }
更新:对于ASP.NET Core Identity 2.x
services.Configure(options => { // enables immediate logout, after updating the user's stat. options.ValidationInterval = TimeSpan.Zero; });
我想你可能会找到一些撤销function,这会强行注销用户。 目前,它不容易实现,因为无状态连接和基于令牌的(或者我们可以说基于声明的)身份validation的性质。
应该将已撤销的用户访问到令牌validation端点,以便检查令牌是否有效。 在此之前,(1)用户可以显示为已登录,或者(2)我们需要实施客户端(app或web)以非常频繁地访问令牌端点,直到令牌过期或撤销。
SignIn / Out被授予令牌授权的用户身份范围,因此可行的解决方案是使令牌无效。
- AspNetCore上的unit testing控制器模型validation
- 实体类型上的导航尚未添加到模型中,或被忽略,或者实体类型被忽略
- ASP.NET MVC 6中MVC Controller和Web API Controller有什么区别?
- entity framework核心仍然采用旧列
- 在ASP.NET Core 2中dependency injection相同类型的多个实例
- Asp.Net Core 2如何访问ConfigureServices中的IHostingEnvironment?
- 将查询参数绑定到ASP.NET Core中的模型
- 如何将自定义角色添加到ASP.NET Core
- 如何使用ASP.NET Core进行流式处理