0

我想实现一个经过身份验证的服务器来接受来自命令提示符的请求。用户可以使用他的用户名和密码获得经过身份验证的令牌。

所以问题是当他拥有该令牌时,他可以使用该令牌从任何机器提出进一步的请求。我想限制单台机器的令牌。所以知道如何限制它吗?

我心里有事

  • 带 IP 和端口号(我希望这不是一个合适的解决方案,因为更改 IP 很容易)
4

1 回答 1

0

带 IP 和端口号(我希望这不是一个合适的解决方案,因为更改 IP 很容易)

IP 和端口号不起作用。如果用户位于具有本地 IP 地址的路由后面,则相同的 IP 地址将与其他用户共享。

使用一些供应商 ID 或组织 ID 进行验证(我认为这也不是最佳解决方案)。

我不知道那件事。

我认为使用机器密钥是可能的。如何通过请求获取机器密钥?

你是说mac地址吗?获取 ASP.NET 网站用户的 MAC

解决方案

我要尝试的第一件事是设置 cookieless="AutoDetect"。如果它不起作用,那么我会找到替代解决方案。

<forms cookieless="AutoDetect" ... />

如果用户不支持 cookie,它基本上会在 url 中嵌入 SessionID。

2013 年 9 月 14 日更新

所以问题是当他拥有该令牌时,他可以使用该令牌从任何机器提出进一步的请求。我想限制单台机器的令牌。所以知道如何限制它吗?

用户可以复制他的 AuthenticationToken,并从其他浏览器使用相同的 AuthenticationToken 浏览您的站点。为什么他想这样做,虽然他可以?就像他偷偷溜进自己的房子一样,尽管他有钥匙。

默认情况下,AuthenticationToken 只能从同一个域的同一个浏览器访问(除非你修改它)。只要您使用 HTTPS,AuthenticationToken 就不能轻易被盗用(除非用户的计算机被黑客入侵)。不值得花时间通过 IP 限制 AuthenticationToken。

于 2013-09-16T15:52:00.450 回答