Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows身份验证-以编程方式注销用户?_C#_Asp.net Core - Fatal编程技术网

C# Windows身份验证-以编程方式注销用户?

C# Windows身份验证-以编程方式注销用户?,c#,asp.net-core,C#,Asp.net Core,如果我使用Windows身份验证设置了Asp.NET Core 2.1网站,如何注销使用Windows身份验证登录的用户 我看过这篇文章,但在2009年被问到了。只是想知道现在是否可以注销windows用户。这仍然是事实: 使用“Windows”时,服务器端注销按钮不起作用 认证。如果您想要一个新的身份验证,您必须使用“表单”身份验证 注销按钮,或关闭用户的浏览器 因此,如果您希望能够注销用户,则需要使用不同形式的身份验证 您需要使用表单身份验证。自该问题发布后,Windows身份验证流程未发生

如果我使用Windows身份验证设置了Asp.NET Core 2.1网站,如何注销使用Windows身份验证登录的用户


我看过这篇文章,但在2009年被问到了。只是想知道现在是否可以注销windows用户。

这仍然是事实:

使用“Windows”时,服务器端注销按钮不起作用 认证。如果您想要一个新的身份验证,您必须使用“表单”身份验证 注销按钮,或关闭用户的浏览器

因此,如果您希望能够注销用户,则需要使用不同形式的身份验证

您需要使用
表单身份验证
。自该问题发布后,
Windows身份验证流程未发生更改


如果您不想移动到表单身份验证,您可以创建自己的“注销”表单,方法是在数据库中为该用户管理一个
登录的
bool,然后返回
401 Unauthorized
。我强烈建议不要这样做,您应该实现
表单身份验证

没有什么可以注销的。用户尚未从Windows注销,因此任何打开web应用的尝试都是有效的。从web应用程序注销通常意味着“终止会话”@PanagiotisKanavos什么?这样处理还是有可能的。您可以通过基于数据库值“logged on”阻止该用户的请求,在服务器端处理它。这只是一个糟糕的解决方案,不应该使用。@Ridell什么?Windows身份验证不是这样工作的。没有需要注销的“登录”。用户通过其计算机进行身份验证。令牌通过请求头发送到服务器。服务器验证该令牌并检查该令牌是否为允许的用户。阻止该用户,为什么?多久?毕竟,请求已经过身份验证。@PanagiotisKanavos我完全知道它是如何工作的。你显然不明白我在说什么。您仍然可以根据授权请求呈现不同的页面。这是一种令人讨厌的方式,这就是我在回答中所说的。我发现你的评论与这个问题的两个答案都毫不相干。没有什么可以退出的。用户尚未从Windows注销,因此任何打开web应用的尝试都是有效的。从web应用程序注销通常意味着“终止会话”您所说的“注销用户”实际上是什么意思?用户尚未注销其计算机。web应用程序的“注销”表示“终止会话”。问题是询问错误的内容您可以像在任何web应用程序中一样终止用户会话。通过设置超时、用户的显式操作(如单击
注销
按钮)或页面关闭时的Javascript操作,您为什么询问注销Windows用户?你想解决的实际问题是什么?存储一个
注销
日期?结束用户的会话?跟踪在线状态?还有别的吗?请记住,HTTP是无状态的,唯一跟踪登录/注销状态的是应用程序itself@PanagiotisKanavos我很好奇,因为使用这个网站的用户有两个不同的window帐户:一个普通帐户,一个管理员帐户。我希望通过检测他们使用的帐户并说“嘿,这是错误的帐户,请单击此处注销并使用正确的帐户重新登录”来让他们的生活更轻松。截至目前,它确实显示了该消息,我只是希望通过再次提供登录屏幕让他们更容易。你是在问Windows身份验证还是针对广告的表单身份验证?在第一种情况下,没有要从中注销的登录。第二种情况只是针对AD存储而不是数据库进行身份验证。