Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
Asp.net Cookie清理后信号授权成功_Asp.net_Cookies_Websocket_Signalr - Fatal编程技术网

Asp.net Cookie清理后信号授权成功

Asp.net Cookie清理后信号授权成功,asp.net,cookies,websocket,signalr,Asp.net,Cookies,Websocket,Signalr,我使用auth Cookie开发ASP.NET应用程序,并默认使用SignalR 2.0.3与Websocket传输聊天。我使用“Authorize”属性来授权集线器 [Authorize] [HubName("c")] public class Chat : Hub { ... 我遇到了下一个问题。清除浏览器(Chrome或Firefox)中的所有cookie后,授权stil成功。它仅用于WebSocket传输。 我尝试使用so HubPipelineModule解决此问题: public

我使用auth Cookie开发ASP.NET应用程序,并默认使用SignalR 2.0.3与Websocket传输聊天。我使用“Authorize”属性来授权集线器

[Authorize]
[HubName("c")]
public class Chat : Hub
{
...
我遇到了下一个问题。清除浏览器(Chrome或Firefox)中的所有cookie后,授权stil成功。它仅用于WebSocket传输。 我尝试使用so HubPipelineModule解决此问题:

public class CheckingCookiesPipelineModule : HubPipelineModule
{
    protected override bool OnBeforeIncoming(IHubIncomingInvokerContext context)
    {
        if (context.Hub.Context.Request.Cookies["auth_key"].Value == string.Empty)
        {
            return false;
        }
        return base.OnBeforeIncoming(context);
    }
}
它没有帮助,因为cookies在Websocket请求中不是空的。
有谁能解释信号员Websocket如此奇怪的行为?它是bug还是特性?可能有解决方法吗?

WebSocket是持久连接,它们总是连接的。Cookie在连接握手过程中发送,而不是在每条消息中发送

如果关闭连接,再次连接时cookie应为空