【问题标题】:How to implement subscription plan restrictions? (php)如何实施订阅计划限制? (php)
【发布时间】:2017-04-12 01:10:24
【问题描述】:

假设我们有一个提供两种计划的简单 SAAS。例如,在最便宜的计划中,您最多可以创建 20 个列表,而在下一个计划中,您最多可以创建 50 个列表。这只是定价模型的一个特点。假设定价模型基于每个计划的 4-5 种不同功能,那么检查和执行这些限制的最佳做法是什么?

我想,(混乱的)方法是在不同的点添加一堆“ifs”,例如:如果 $user->plan->limitReached,执行此操作等。

也许另一种方法是在用户操作上引发某种事件并以更“集中”的方式处理检查? 你对这种情况有什么看法?任何建议,将不胜感激。 谢谢

【问题讨论】:

  • 一般不要编码这样的限制,而是使用配置目录。除此之外:这不是一个非常适合本网站使用的问答风格的问题,因为答案会包含个人喜好。
  • 是的,我想这不是最适合这类问题的地方,但我在其他地方没有得到任何答案(reddit 和 laracasts)。不过感谢您的回复。
  • 我会使用某种 ACL,您只需检查 $acl->isAllowed('resource', 'privilege');
  • 我也遇到了同样的情况,我会尝试使用 Gate 或 authorizes(),但仍然想将我的应用程序域混为一谈。我找到了this package,看来我现在可以得到一个干净的解决方案了。
  • @nteath 我终于got it implemented。希望这有助于提供一些指导。

标签: php laravel-5 subscription restrictions


【解决方案1】:

Laravel 5.3 有一个名为 Policies 的功能。

有了这些,您可以创建复杂的逻辑来允许或拒绝用户的请求或任何事情。

这是授权用户操作的官方 Laravel 方式。

它还允许您整理用户模型和控制器类并重用代码。

【讨论】:

    猜你喜欢
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2011-09-08
    • 2020-11-09
    • 2019-06-21
    • 2018-07-13
    相关资源
    最近更新 更多