【问题标题】:How to handle users who have not paid?未付费用户如何处理?
【发布时间】:2017-04-25 04:33:57
【问题描述】:

我正在寻找一种安全的方式来故意禁用我的流星应用程序,以确保每月客户付款。

【问题讨论】:

  • 为什么不直接禁用服务器?或者要求用户根据需要登录和禁用登录?你运行的任何 JS 都可以被绕过。
  • @Mike C 要求他们登录然后禁用登录将他们重定向到默认站点可能会起作用。干杯!

标签: javascript meteor meteor-packages


【解决方案1】:

您需要考虑如何处理尚未付款的用户。注销他们不是很好,因为这样他们就无法重新激活他们的订阅!

假设您向用户对象添加了一个键,例如validSubscriber。例如,如果用户不是有效的订阅者,您可以连接您的发布和方法以不返回数据。

Meteor.publish('foo',(param1,param2) => {
  const isValidSubscriber = Meteor.user(this.userId).validSubscriber;
  if (isValidSubscriber){
    return ...
  } else {
    this.ready();
  }
});

在客户端,您可以让您的路线检查用户是否是有效的订阅者,如果不是,则将他们引导至付款页面。

虽然聪明的用户可能能够绕过您的路线,但使用您的方法和出版物的带吊带方法会阻止他们看到任何数据或对其进行任何操作。

您不太可能为此找到预制的“sn-p”,因为订阅管理代表了您自己的应用程序“业务规则”的一部分。每个人的方法都会略有不同。

我推荐的一件事是使用循环支付系统(Stripe 支持这一点),这样用户就不需要手动重新订阅。他们的信用卡过期或被取消和/或您在他们的帐户设置中为他们提供取消订阅功能。

【讨论】:

  • OP,Michels 的建议是我处理这个问题的方式。同一主题中的另一个选项是为付费订阅者使用角色并按角色过滤所有视图/数据。
  • 是的,使用角色绝对是一个好方法。您甚至可以有一个特殊的“过期订阅者”角色来专门处理它们,这可能比否定逻辑更可取(即“不是有效的订阅者”)
猜你喜欢
  • 2011-06-25
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 2012-05-12
  • 2020-07-07
  • 2015-03-07
  • 1970-01-01
相关资源
最近更新 更多