首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SignalR组安全注意事项

SignalR组安全注意事项
EN

Stack Overflow用户
提问于 2020-06-22 21:54:56
回答 1查看 200关注 0票数 1

希望你能在这个场景中提供帮助。我们有一个基于浏览器的支持应用程序,使用SignalR进行客户聊天。该解决方案包括两个web应用程序:admin.[domain].comsupport.[domain].com。两者都是C# ASP.NET核心3.1MVC应用程序。

支持工程师使用管理应用程序为聊天提供服务。SignalR集线器托管在管理应用程序中。管理应用程序使用ASP.NET核心身份进行身份验证和授权。

然而,支持应用程序没有身份识别机制-我们需要一个“低摩擦”的解决方案,用户只需连接到support.domain.com/{GUID},不需要密码。GUID是由支持工程师预先生成的SignalR组名称。遇到此路线时,支持应用程序将调用AddToGroup(GUID)

SignalR文档指出,组不是一种有效的安全机制。但是,如果组名是GUID,并且我们从不发送到所有客户端,那么这是一种合理的安全方法吗?

消息仅在组内发送或接收。GUID使得组名称非常安全,我想。

如果组名称是未知的GUID,聊天是否容易被窃听?有没有比这种方法更好/更安全的替代方法,而不需要客户端输入密码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-22 23:29:46

正如你所说的groups are not a security mechanism。但在您的情况下,您想要做的是很好的,因为,只要用户连接到集线器,组管理是由管理员进行的,在聊天会话之后,管理员可以删除组,这样用户以后就不能加入它。

你需要明确的是,这是一个公共会话,就像你在白板这样的应用程序中看到的那样,如果用户有邀请链接,就可以加入。

我还建议实现一些ttl机制,以防止组在一段时间后过期,并建议用户稍后不要加入会话。

最后,只需要做一些防御性的编码,允许每个组一次只能有一个管理员和一个用户,等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62516090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档