问题描述
在我的EPiServer网站上,我无法再注销。我确实有一个用户名下拉列表,其中提供“注销”选项,当我单击它时,我被带到Util/logout.aspx
,其中显示注销确认和一个用于再次登录的按钮。但是,当我重新访问该网站时,我仍然登录。
据我所知,".AspNet.ApplicationCookie"
cookie没有被删除。如果我在浏览器中手动将其删除,则会退出网站。
查看Chrome中的cookie属性,我可以看到此cookie已使用安全标志设置。但是在SameSite列下为空白,不确定是否存在问题。
我尝试在Visual Studio中更新所有与OWIN相关的nuget软件包,但没有成功。
我尝试将SameSiteCookieManager
类与本文档https://docs.microsoft.com/en-us/aspnet/samesite/owin-samesite合并,但没有成功。
我对尝试/测试/查看其他内容一无所知。
解决方法
如果您使用Owin身份验证,则需要映射注销URL。从CMS UI注销只能从ASP.NET身份和/或成员身份注销。在Owin启动类中添加以下内容:
app.Map("/util/logout.aspx",map =>
{
map.Run(ctx =>
{
ctx.Authentication.SignOut();
return Task.CompletedTask;
});
});