gpt4 book ai didi

wcf - 防止在 WCF 中的用户之间共享登录凭据

转载 作者:行者123 更新时间:2023-12-03 03:20:19 24 4
gpt4 key购买 nike

我有一项托管在 Azure 中的辅助角色中的服务。客户端通过 NetTcp 绑定(bind)进行连接,使用证书进行相互客户端/服务身份验证并使用自定义用户名密码验证。

客户端还可以接收使用共享 secret 身份验证通过 Azure 服务总线广播的事件通知。

我希望这是安全的,并且不允许一个人与 friend 或其他任何人共享他/她的登录信息 - 他们的登录信息仅供他们使用。同样,忘记在一台计算机上注销然后从另一台计算机(即平板电脑、工作计算机等)登录到服务的用户应该触发未注销的应用程序的自动关闭。

我正在使用每次调用服务,并且要使用 session 实现解决方案需要大量重新布线。

我认为我需要在用户进行操作调用时跟踪用户的上下文,并跟踪哪些 IP 当前正在使用该登录/凭据。我希望能够有某种“死亡触摸”,当检测到多次登录时,服务可以向客户端发送终止命令。

任何有关处理此问题的模式的建议或指示将不胜感激。

谢谢。

最佳答案

即使您确实使用了 PerSession,您仍然需要确定同一用户是否处于多个 session 中,并且您会产生 session 开销。

我仅通过 WSHttpBinding 对此进行了测试,并未托管在 Azure 角色中,因此如果它在 NetTcp Azure 角色上不起作用,请不要投票否决 - 评论,我将删除它。即使使用 PerCall,SessionID 也是持久的,并且 SessionID 在客户端和服务器上都可用。多个用户可以拥有相同的 IP 地址,但 SessionID 对于 session 来说是唯一的。显然,您需要记录 userID、SessionID,但表存储很便宜。

也许会更新并发使用的许可证模型。通过记录 userID 和 sessionID,您可以编写一个算法来计算最大并发使用量。

关于wcf - 防止在 WCF 中的用户之间共享登录凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com