1

我们在我们的应用程序上使用 Devise gem,想知道如何在 gem 的过程中添加合同接受。

由于 Devise 没有这样做,我们想到了两种解决方案,一种干净,一种有点脏。

  1. 当用户登录时,他会被临时重定向到 EULA 页面(使用来自 Devise 的 @resource)。如果接受,则登录成功,用户进入应用程序,如果拒绝,则用户卡在登录页面。

  2. 当用户登录时,他进入应用程序并有一个他应该接受的 EULA 页面。然后我们将标志传递给“是”或“否”,具体取决于他是否接受。如果没有,他将被重定向到登录页面。

第二种解决方案是最简单的,但我觉得它有点不安全(也许服务器负载没用?)。

第一个会更好,但我们找不到任何文档和提示来帮助我们这样做,我们陷入了困境。

有没有人开发过类似的东西?最佳做法是什么?

谢谢!

4

1 回答 1

2

我认为您的第二个选项更简洁:在您的用户表中创建一个 bool 字段并检查(在登录时或在每个请求中-> before_filter)并在未设置时重定向。这样,如果您更改了 eula 并且用户必须重新接受它,您可以清除用户表中的所有 bool 标志以强制您的用户接受新版本。

于 2013-09-20T10:19:47.367 回答