防止用户在多租户环境中多次投票的最佳方法

时间:2014-04-16 13:39:27

标签: c# javascript asp.net-mvc asp.net-mvc-4 cookies

首先,我知道有很多相关问题发布在防止用户为单个主题或区域投票多次投票的主题上。我已经阅读了大部分获得答案的人。但我的情况与我读过的情况略有不同,我正在寻找一种适当的方法作为答案或建议。

我的网站是一个多租户环境。因此,用户可以对其他用户的站点贡献进行投票,但他们必须登录才能这样做。阅读其他帖子我认为我已经涵盖了问题的这一方面。

所以,如果我有,那么说10个用户各有自己的网站贡献,那些用户的#1成员投票给会员#2。我无法看到如何实施cookie来解决同一用户多次投票的问题,并且仍然允许成员#1投票给会员#3。希望这是有道理的。

总之,鉴于上述情况;我想禁止会员#1为会员#2投票,但不能投票给会员#3或4或5等等。除非他们已经投票给那些会员。

如果可能的话,我需要一种优雅但相当简单的方法。我想过使用一些数据库表来实现这一点,但随着网站的增长,这似乎可能成为一个不合理的大量数据来执行这样一个简单的规则。

Cookies听起来不错,但我不确定如何管理规则,以便不完全禁止用户进行任何投票,只允许那些尚未投票的用户。< / p>

我正在使用MVC4和Raty Star投票系统。

1 个答案:

答案 0 :(得分:2)

你不能做这个客户端。相反,当用户投票时,将投票发送到您的服务器并将其记录在服务器端(几乎可以肯定在数据库中)。是的,服务器端存储(数据库表或您使用的任何内容)的大小会随着时间的推移而增长,但您不能依赖任何客户端机制来执行此操作。防止重复投票的唯一方法是存储已经完成的投票,唯一可以合理做到的地方就是用户无法获得投票。