【发布时间】:2015-08-15 21:06:34
【问题描述】:
我正在开发一个 Rails 项目,理想情况下,我希望将每个用户限制为只能使用 2 台设备访问我的应用程序(以限制用户名和密码共享)。我目前正在使用设计进行用户身份验证。我已经通过 SO 和 Devise 文档对此进行了研究,但还没有找到任何解决方案。当然,我不能成为第一个有这种需求的人。有人对如何实现这一点有任何想法吗?
【问题讨论】:
标签: ruby-on-rails-4 authentication devise
我正在开发一个 Rails 项目,理想情况下,我希望将每个用户限制为只能使用 2 台设备访问我的应用程序(以限制用户名和密码共享)。我目前正在使用设计进行用户身份验证。我已经通过 SO 和 Devise 文档对此进行了研究,但还没有找到任何解决方案。当然,我不能成为第一个有这种需求的人。有人对如何实现这一点有任何想法吗?
【问题讨论】:
标签: ruby-on-rails-4 authentication devise
您可以通过将设备唯一 ID 存储在数据库中来做到这一点。
创建一个单独的表,您可以在其中存储您登录的设备 ID 并检查何时进行身份验证。
对于硬件相关的识别密钥,我们也可以使用 MAC 地址。
媒体访问控制地址(MAC 地址)是唯一标识符 分配给网络接口,用于物理上的通信 网段。 MAC 地址通常由 网络接口卡 (NIC) 的制造商并存储在其 硬件、卡的只读存储器或其他一些固件 机制。 [维基百科]
这是一个查找mac地址的gem:
https://github.com/ahoward/macaddr
【讨论】: