SignalR强制应用程序在某个组中

时间:2016-09-22 17:39:29

标签: asp.net-web-api signalr signalr-hub signalr.client signalr-2

我有一个SignalR应用程序。

////Server
public class ChatHub : Hub{
     public override Task OnConnected()
            {
                string name = Context.QueryString["applicationName"].ToString();// Context.User.Identity.Name;

                this.Groups.Add(Context.ConnectionId, name);

                return base.OnConnected();
            }
}

 //// Client
$.connection.hub.url = "http://localhost:40000/signalr";

            $.connection.hub.qs = 'applicationName=app1';
            // Declare a proxy to reference the hub.
            var chat = $.connection.chatHub;

            // Create a function that the hub can call to broadcast messages.
            chat.client.addMessage = function (name, message) {
...
}

这会将连接与应用程序相关联。 问题是客户端可以更改参数并收听app2的消息。

我可以做什么(客户端/服务器/两者)以确保某人被分配到app1然后继续app1,即他们无法收听app2条消息即使他们想要?

1 个答案:

答案 0 :(得分:0)

如果您不想保护集线器,请阅读http://www.asp.net/signalr/overview/security/hub-authorization