允许用户删除其帐户

col*_*rco 2 ruby-on-rails account-management

我正在开发一个画廊,允许用户发布照片,评论,投票和做许多其他任务.

现在我认为允许用户取消订阅并删除所有数据是正确的.但是很难允许这样的事情,因为你冒着破坏你的应用程序的风险(例如,当评论有很多回复时我该怎么办?对于那些由不同用户进行多次修改的页面,我该怎么做?).

照片可以轻松删除,但对于其他数据(即评论,修订......)我认为有三种可能性:

  • 将其分配给管理员
  • 将其分配给名为"removed-user"的用户
  • 保留当前关联(即用户ID)并仅重命名用户的数据(例如,分配新的用户名,例如"removed-user-24"和不存在的电子邮件,例如"noreply-removed-user-24 @ mysite" .COM"

当我们允许用户删除其帐户时,要遵循哪些最佳做法?你如何实现它们(特别是在Rails中)?

Ada*_*ski 5

我通常通过在用户上设置活动标志来解决这类问题,并在删除用户时简单地将active设置为false.这样,即使用户被"删除",我也会在整个系统中保持参照完整性.在业务层中,我总是在允许用户执行操作之前验证用户是否处于活动状态.我还在检索数据时过滤非活动用户.

  • 是的,这是一个简单的方法.但是......隐私呢?用户可能会抱怨您没有删除他的姓名,电子邮件等(即使有人永远不会看到这些信息). (2认同)