我正在使用具有核心标识的Razor页面-所有模型均由[Authorize]属性标记。
在两个(不同的)Web浏览器上,我已经记录了用户。
其中一个正在删除另一个-删除的用户仍被授权!
我已经尝试直接从数据库中删除用户,并且:
await _userManager.DeleteAsync(user);
和仍然
SignInManager.IsSignedIn(User)
返回true,并且AuthorizeAttribute允许访问页面模型。
任何想法如何防止授权已删除的用户?
该方法检查用户是否在其浏览器中通过其cookie身份进行了身份验证,在删除用户后仍会设置该cookie身份。您可以看一下here at the official documentation。我的方法是在删除用户后删除Cookie或使用SignOutAsync
function对用户签名。
您可以看一下SignOutAsync
的官方文档。在那里您可以找到更多的属性,方法等等。