【发布时间】: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