如何在 ASP.NET Core Identity 中注销用户
How to sign out a user in ASP.NET Core Identity
我正在尝试注销我正在更改的用户的所有活动会话(删除、添加或删除角色、更改密码等)。
我找到了旧版本 ASP .NET 的解决方案。本质上是调用 UserManager.UpdateSecurityStampAsync(userId);
但这似乎不适用于 ASP .NET Core。我可以调用该函数,但它什么也不做。之后用户仍然登录。
那么我到底该如何注销已登录的用户(所有打开的会话)?
有一个 IdentityOptions
的 属性 称为 SecurityStampValidationInterval
,它设置验证 cookie 的频率。默认设置为 30 分钟。您可以更改它:
services.Configure<IdentityOptions>(options =>
{
options.SecurityStampValidationInterval = TimeSpan.FromSeconds(0);
});
为 Account/logout 创建脚手架项目并根据需要修改 post
函数或创建一个 get
函数来模拟 post
所做的事情,这基本上是调用await _signInManager.SignOutAsync();
我正在尝试注销我正在更改的用户的所有活动会话(删除、添加或删除角色、更改密码等)。
我找到了旧版本 ASP .NET 的解决方案。本质上是调用 UserManager.UpdateSecurityStampAsync(userId);
但这似乎不适用于 ASP .NET Core。我可以调用该函数,但它什么也不做。之后用户仍然登录。
那么我到底该如何注销已登录的用户(所有打开的会话)?
有一个 IdentityOptions
的 属性 称为 SecurityStampValidationInterval
,它设置验证 cookie 的频率。默认设置为 30 分钟。您可以更改它:
services.Configure<IdentityOptions>(options =>
{
options.SecurityStampValidationInterval = TimeSpan.FromSeconds(0);
});
为 Account/logout 创建脚手架项目并根据需要修改 post
函数或创建一个 get
函数来模拟 post
所做的事情,这基本上是调用await _signInManager.SignOutAsync();