如果作为web应用程序部署到IIS,则注销不起作用



早上好。我们有一个带有Angular应用程序的asp.net核心2.1。我们使用asp.net身份。要注销用户,我们使用await HttpContext.SignOutAsync((;在visualstudio中运行应用程序并部署到根网站是很好的,但如果我们在IIS中部署到网站内的网络应用程序,则注销根本不起作用。我假设SignOutAsync删除了服务器端的所有信息,所以即使cookie没有被修改,服务器也会拒绝任何未来的请求,但事实似乎并非如此。知道吗?

它似乎已经解决了。使用await_signInManager.SignOutAsync((;工作良好。

我不知道使用HttpContext.SignOutAsync((有什么区别

您使用的是Asp.net核心身份,因此.AspNetCore.Identity.Applicationcookie中的身份验证票证,您可以尝试通过设置特定的方案删除cookie:

await HttpContext.SignOutAsync(IdentityConstants.ApplicationScheme);

但使用SignInManager.SignOutAsync()更好,它将删除以下cookie:

await Context.SignOutAsync(IdentityConstants.ApplicationScheme);
await Context.SignOutAsync(IdentityConstants.ExternalScheme);
await Context.SignOutAsync(IdentityConstants.TwoFactorUserIdScheme);

相关内容

  • 没有找到相关文章

最新更新