C# 信号员安全
我是新来的信号员,但我很好奇它有多安全 例如,我创建以下方法向所有用户发送消息,如下所示:C# 信号员安全,c#,asp.net-mvc,signalr,C#,Asp.net Mvc,Signalr,我是新来的信号员,但我很好奇它有多安全 例如,我创建以下方法向所有用户发送消息,如下所示: public class NotificationHub : Hub { public void Send(string message) { Clients.All.broadcastMessage(message); } } SignalR在js文件(集线器)中生成以下方法: 那么,难道世界上的任何用户都不能在没有我同意的情况下,将其复制并粘贴到他们的控制台,
public class NotificationHub : Hub
{
public void Send(string message)
{
Clients.All.broadcastMessage(message);
}
}
SignalR在js文件(集线器)中生成以下方法:
那么,难道世界上的任何用户都不能在没有我同意的情况下,将其复制并粘贴到他们的控制台,然后向我的所有用户发送他们选择的消息吗
var notifications = $.connection.notificationHub;
notifications.server.send("Your site has been hacked!");
我刚刚尝试了这个方法,效果很好——那么,如何防止我的用户从客户端发送未经授权的消息呢?这是一个HTTP端点,与其他端点一样。如果要限制对它的访问,则需要对用户进行身份验证并授权其操作。您可以使用标准的web身份验证方法(forms auth、Cookie、Windows auth等)进行身份验证,并且可以使用Signal构造(如您指出的authorize属性)或使用您自己的代码在代码中进行授权
这些都有文档记录:我希望答案不必太宽泛-我想我可以简单地添加一个
[Authorize(Roles=“Admin”))
以上是我阻止任何老用户访问它的方法…只是想寻求一些建议。我发现这里的信息我对答案是否太广泛感兴趣。Signal确实有身份验证和角色授权,它可以限制访问谁发送什么。我明白了,所以我问题的最佳答案似乎是u使用标准ASP.NET身份验证属性。这样,我可以指定哪些用户可以访问哪些方法。感谢您的建议。如果响应是websocket,则websocket流是否在令牌过期时结束?
var notifications = $.connection.notificationHub;
notifications.server.send("Your site has been hacked!");