如何向未经身份验证的/公共用户发送signalr消息?

时间:2015-12-11 11:21:23

标签: authentication signalr

我想向除了经过身份验证的客户端发送信号器消息。我可以这样做吗?

或者,如果在信号器消息到来时有一种方法可以了解用户是否在客户端进行了身份验证,那么它也可以解决我的问题。但是我不能使用ajax调用。

2 个答案:

答案 0 :(得分:0)

您必须自己解决,迭代所有用户,检查哪些用户已经过身份验证,并发送特定于该客户端ID的消息(Ids,因为一个用户可以打开多个窗口)。

使用我的SignalR.EventAggregator库可以非常优雅地解决这个问题,这是一篇关于如何解决它的相关博客文章。

http://andersmalmgren.com/2014/06/12/client-server-event-aggregation-with-role-authorization/

答案 1 :(得分:0)

您可以使用SignalR groups。未经身份验证的用户连接时,将其添加到Unauthenticated组。进行身份验证时,将其从Unauthenticated中删除并将其添加到Authenticated。当您想要向其中一个组发送消息时,您只需要一个简单的信息:

Clients.Group("authenticated").MyCoolMessage(message);
相关问题