Ruby on rails 设计/cancan演示帐户

Ruby on rails 设计/cancan演示帐户,ruby-on-rails,devise,cancan,Ruby On Rails,Devise,Cancan,我正在为我的应用程序使用Desive/cancan,只要用户创建帐户并登录,一切都很好 我想做的是允许用户在不创建帐户的情况下开始使用。然后,如果他们真的想保存他们的工作,就注册 以前有人见过这个吗?我应该弄清楚如何使用Desive创建虚拟帐户吗?或者允许未经授权的用户通过CanCan在我的应用程序中创建模型 我可以详细说明我是如何考虑实现这一点的,但这似乎是一个非常明显的用例,有人已经为它想出了一个很好的解决方案 提前感谢,, Mike如果要创建虚拟帐户,则必须通过cookie跟踪用户,并将c

我正在为我的应用程序使用Desive/cancan,只要用户创建帐户并登录,一切都很好

我想做的是允许用户在不创建帐户的情况下开始使用。然后,如果他们真的想保存他们的工作,就注册

以前有人见过这个吗?我应该弄清楚如何使用Desive创建虚拟帐户吗?或者允许未经授权的用户通过CanCan在我的应用程序中创建模型

我可以详细说明我是如何考虑实现这一点的,但这似乎是一个非常明显的用例,有人已经为它想出了一个很好的解决方案

提前感谢,,
Mike

如果要创建虚拟帐户,则必须通过cookie跟踪用户,并将cookie中的值缓存到数据库中。Cancan通过能力模型允许客户账户。例如:

user ||= User.new # Guest user, for users who are not registered or don't have an account yet
这足以让您从为未注册用户应用权限开始。但请注意,仅通过cookie进行跟踪并不十分可靠,可能会导致某种类型的安全危害(即通过cookie劫持)。有一天,用户还可以决定清除他的cookies

如果需要,我建议让用户与客户帐户进行最少的交互,并鼓励用户尽可能多地注册Desive


希望有帮助

我实际上也在考虑同样的问题,我有一个制作日历的日程安排应用程序。为了克服这个问题,我想你应该

user ||= User.new
如上所述,一旦用户创建了一个帐户,就可以使用cookies将数据发送到数据库。
这意味着您不必担心清除cookies,因为如果他们想保存数据,他们会创建一个帐户。

谢谢,现在就这样实现了。到目前为止似乎进展顺利。