Laravel试用模式中间件



我想为我的应用程序制作中间件,为我做这个逻辑:

  1. 允许注册用户访问面板60天(基于users表的created_at列(
  2. 然后禁止用户访问面板,除非管理员将访问权限授予用户(如果定义了user_id,则此访问权限将由第二个表识别(

我需要什么

我不需要你给我代码(,除非你想显示示例(,但我在这里问的主要问题是你的ideassolutions

你怎么看待这个逻辑?或者如果您有更好的想法?等

使用中间件是实现这一目标的好方法吗

对于我的小想法,我认为你可以使用midleware,这是最好的方式,直到有人提供了我不知道的东西(我知道的不多(。midleware检索发出请求的用户,并首先根据他的注册日期检查他是否有资格参加试用期。如果没有,他会在第二个表中检查管理员是否允许他访问。

我喜欢这个想法,但我认为您可以在users表上使用一个名为"access"的列来解决问题,该列将是一个布尔值。当用户注册时,该值将为true,并且如果该列为true,则允许用户查看面板。

然后,从created_at列经过60天后,将"access"列更改为false。您可以在每晚运行的计划命令或作业中检查created_at列,对于超过60天限制的用户来说,该列将更改为false。

然后,在管理UI或管理命令中,您只需将某些用户的"访问"列更改回true即可。

最新更新