我想为我的应用程序制作中间件,为我做这个逻辑:
- 允许注册用户访问面板60天(基于
users
表的created_at
列( - 然后禁止用户访问面板,除非管理员将访问权限授予用户(如果定义了
user_id
,则此访问权限将由第二个表识别(
我需要什么
我不需要你给我代码(,除非你想显示示例(,但我在这里问的主要问题是你的ideas
和solutions
。
你怎么看待这个逻辑?或者如果您有更好的想法?等
使用中间件是实现这一目标的好方法吗?
对于我的小想法,我认为你可以使用midleware,这是最好的方式,直到有人提供了我不知道的东西(我知道的不多(。midleware检索发出请求的用户,并首先根据他的注册日期检查他是否有资格参加试用期。如果没有,他会在第二个表中检查管理员是否允许他访问。
我喜欢这个想法,但我认为您可以在users表上使用一个名为"access"的列来解决问题,该列将是一个布尔值。当用户注册时,该值将为true,并且如果该列为true,则允许用户查看面板。
然后,从created_at列经过60天后,将"access"列更改为false。您可以在每晚运行的计划命令或作业中检查created_at列,对于超过60天限制的用户来说,该列将更改为false。
然后,在管理UI或管理命令中,您只需将某些用户的"访问"列更改回true即可。